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

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

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

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

С дополнительной информацией можно ознакомиться на официальном сайте. В текущем релизе используется Ingress Controller версии 1.12.1.

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

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

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

После применения конфигурации узлы будут готовы принимать ингресс трафик на указанные порты, например, на 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 для обработки запросов int 6
limits.memory Ограничения памяти string 800Mi
requests.cpu Запрос CPU string 400m
requests.memory Запрос памяти string 600Mi

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