Модуль управления внешними подключениями (NGinx)

В этом разделе можно настроить маршрутизацию внешних подключений к кластеру (Ingress Controller). Он обеспечивает управление и маршрутизацию входящего трафика извне к различным сервисам и приложениям, развернутым в контейнерах.

Для настройки Ingress Controller в интерфейсе кластера платформы “Штурвал” в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы. Найдите Модуль управления внешними подключениями (shturval-ingress-controller) и нажмите Управлять.

Если модуль не отображается, перейдите в доступные чарты, на вкладке “shturval” найдите чарт “shturval-ingress-controller” и нажмите “Установить”.

С дополнительной информацией можно ознакомиться на официальном сайте.

Как заменить VIP Ingress на внешний балансировщик

Если при добавлении кластера вы указали внутренний виртуальный IP-адрес и возникла необходимость заменить его внешним балансировщиком, необходимо внести изменения в спецификацию (customvalues) модуля управления внешними подключениями (shturval-ingress-controller).

Пример customvalues
controller:
    enabled: true
  service:
    nodePorts:
      http: <ваше значение параметра>
      https: <ваше значение параметра>
    type: NodePort
  shturval:
    commonName: <значение параметра>
ПараметрОписаниеТип данныхПример
commonNameWildcard домен. Должно быть указано значение, которое прописано в спецификации сервиса до внесения измененийstringapps.ip-11-12-13-14.shturval.link
nodePorts.httpПорт для подключения по HTTPint30080
nodePorts.httpsПорт для подключения по HTTPSint30443

После применения конфигурации узлы будут готовы принимать ингресс трафик на указанные порты, например, на 30080 и 30443. Пример по настройке внешнего балансировщика (HAProxy).

Как включить proxy протокол

Все параметры из официальной документации, в том числе и proxy протокол, можно установить в customvalues сервиса. Для этого в спецификации сервиса пропишите значение параметра.

Пример customvalues
controller:
  config:
    use-proxy-protocol: "true"
Значения customvalues не перезаписываются при обновлении кластера.

Конфигурирование worker-processes, CPU, Memory

По умолчанию в платформе “Штурвал” для Ingress Controller установлено ограничение на количество worker-processes и на лимиты, запросы ресурсов (CPU, Memory).

Дефолтные значения в спецификации (customvalues)
controller:
  config:
    worker-processes: 4
  resources:
    limits:
      memory: 400Mi
    requests:
      cpu: 200m
      memory: 300Mi 
ПараметрОписаниеТип данныхПример
worker-processesКоличество рабочих процессов NGINX для обработки запросовint6
limits.memoryОграничения памятиstring800Mi
requests.cpuЗапрос CPUstring400m
requests.memoryЗапрос памятиstring600Mi

При необходимости вы можете переопределить дефолтные значения, заменив их в параметрах worker-processes, memory, cpu.

Как включить snippet-аннотации

Для работы сконфигурированных snippet-аннотаций в Ingress необходимо внести изменения в спецификацию (customvalues) Модуля управления внешними подключениями (shturval-ingress-controller). Разрешите использование snippet-аннотаций (allowSnippetAnnotations) и установите уровень риска аннотаций (annotations-risk-level) - Critical.

Пример customvalues
customvalues:
  controller:
    allowSnippetAnnotations: true
    config:
      annotations-risk-level: Critical