Ingress-nginx#
Ingress-nginx - это контроллер Ingress для Kubernetes, основанный на веб-сервере NGINX , который обеспечивает управление входящим HTTP(S)-трафиком в кластер и маршрутизацию его к соответствующим сервисам. Он реализует ресурс Ingress из Kubernetes API и предоставляет мощные функции балансировки нагрузки, терминации TLS, гибкой маршрутизации, ограничения трафика и других сетевых возможностей.
Основные задачи и возможности
Маршрутизация трафика:
Позволяет направлять запросы по доменам (
host) и путям URL (path) на разные сервисы.Поддержка HTTPS (TLS-терминация):
Обрабатывает зашифрованный трафик, используя сертификаты из Kubernetes Secret. Поддерживает автоматическую переадресацию с HTTP на HTTPS.
Балансировка нагрузки:
Распределяет трафик между pods сервисов с возможностью выбора алгоритма балансировки.
Гибкая конфигурация через аннотации:
Позволяет настраивать параметры NGINX (время ожидания, переписывание путей, заголовки и т.д.) прямо в манифестах
Ingress.Интеграция с Cert-manager:
Автоматически работает с Cert-manager для получения и обновления TLS-сертификатов (например, Let’s Encrypt).
Работа с внешними IP-адресами:
Может использоваться вместе с MetalLB в локальных кластерах для выделения внешних IP.
Поддержка современных протоколов:
Включает поддержку HTTP/2, WebSocket, gRPC и других.
Примечание
Ingress-nginx является единственным инструментом компонента Ingress-controller, и он устанавливается по умолчанию в процессе установки всего кластера DropApp.
Конфигурация values#
Значения можно переопределить через редактирование инструмента с именем ingress-nginx и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
namespaceOverride - переопределение namespace#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределяет namespace для развертывания; по умолчанию используется |
|
controller - настройки контроллера ingress-nginx#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя контроллера |
|
|
Включить валидацию аннотаций |
|
|
Использовать chroot-окружение (рекомендуется оставить |
|
|
Реестр образов для контроллера |
|
|
Имя образа контроллера |
|
|
Полный путь к репозиторию образа |
|
|
Тег образа контроллера |
|
|
Дайджест образа для дополнительной безопасности |
|
|
Дайджест chroot-образа |
|
|
Политика загрузки образа |
|
|
Запускать без root привилегий |
|
|
ID пользователя для запуска контроллера |
|
|
Разрешить повышение привилегий |
|
|
Тип профиля |
|
|
Использовать файловую систему только для чтения |
|
|
Использовать существующую политику безопасности pod |
|
|
Имя контейнера контроллера |
|
|
HTTP-порт контроллера |
|
|
HTTPS-порт контроллера |
|
|
Глобальная конфигурация, передаваемая в |
|
|
Аннотации для |
|
|
Пользовательские заголовки для бэкендов |
|
|
Пользовательские заголовки для ответов клиентам |
|
|
Настройка DNS для pods |
|
|
Пользовательские записи хостов |
|
|
Пользовательское имя хоста pod |
|
|
Политика DNS ( |
|
|
Использовать внутренний IP узла для bare-metal установок |
|
|
Обрабатывать Ingress без указания |
|
|
Обрабатывать |
|
|
Включить топологически-осведомленную маршрутизацию |
|
|
Отключить выборы лидера |
|
|
Время действия выборов лидера |
|
|
Разрешить |
|
|
Использовать сеть хоста |
|
|
Включить |
|
|
HTTP-порт хоста |
|
|
HTTPS-порт хоста |
|
|
Включить |
|
|
ID для выборов лидера |
|
|
Имя |
|
|
Создать |
|
|
Сделать |
|
|
Аннотации для |
|
|
Значение контроллера для |
|
|
Пользовательские записи |
|
|
Дополнительные параметры |
|
|
Класс ingress для обратной совместимости |
|
|
Метки для подов контроллера |
|
|
ID группы для pod |
|
|
Запуск без root |
|
|
ID пользователя для pod |
|
|
Системные параметры ядра |
|
|
Разрешить повышение привилегий |
|
|
Отбрасываемые |
|
|
Добавляемые |
|
|
Файловая система только для чтения |
|
|
Запуск без root |
|
|
ID пользователя |
|
|
Тип профиля |
|
|
Публиковать сервис для статуса Ingress |
|
|
Переопределить путь сервиса |
|
|
Ограничить контроллер определенным namespace |
|
|
Namespace для ограничения |
|
|
Селектор namespace по меткам |
|
|
Namespace для |
|
|
Namespace для TCP |
|
|
Аннотации для TCP |
|
|
Namespace для UDP |
|
|
Аннотации для UDP |
|
|
Лицензионный ключ |
|
|
Включить |
|
|
Дополнительные переменные окружения |
|
|
Тип развертывания ( |
|
|
Аннотации для |
|
|
Метки для ресурсов |
|
|
Стратегия обновления |
|
|
Минимальное время готовности pod |
|
|
Tolerations для размещения на узлах |
|
|
Правила аффинности |
|
|
Ограничения распределения по топологии |
|
|
Время корректного завершения |
|
|
Селектор ОС узла |
|
|
Путь для проверки livenessProbe |
|
|
Порт для проверки livenessProbe |
|
|
Схема для проверки livenessProbe |
|
|
Начальная задержка проверки livenessProbe |
|
|
Период проверки livenessProbe |
|
|
Время ожидания проверки livenessProbe |
|
|
Порог успешности |
|
|
Порог неудач |
|
|
Путь для проверки готовности |
|
|
Порт для проверки готовности |
|
|
Схема для проверки готовности |
|
|
Начальная задержка проверки готовности |
|
|
Период проверки готовности |
|
|
Время ожидания проверки готовности |
|
|
Порог успешности |
|
|
Порог неудач |
|
|
Путь для проверки здоровья |
|
|
Хост для проверки здоровья |
|
|
Аннотации для pods |
|
|
Количество реплик |
|
|
Минимальное количество доступных pods |
|
|
Лимит CPU |
|
|
Лимит памяти |
|
|
Запрос CPU |
|
|
Запрос памяти |
|
|
Включить автомасштабирование |
|
|
Аннотации для HPA |
|
|
Минимальное количество реплик |
|
|
Максимальное количество реплик |
|
|
Целевая утилизация CPU |
|
|
Целевая утилизация памяти |
|
|
Поведение автомасштабирования |
|
|
Шаблон пользовательских метрик |
|
|
Версия API KEDA |
|
|
Включить KEDA автомасштабирование |
|
|
Минимальное количество реплик KEDA |
|
|
Максимальное количество реплик KEDA |
|
|
Интервал опроса KEDA |
|
|
Период охлаждения KEDA |
|
|
Восстановить исходное количество реплик |
|
|
Аннотации для |
|
|
Триггеры KEDA |
|
|
Поведение KEDA |
|
|
Включить |
|
|
Имя |
|
|
Ключ |
|
|
Включить сервисы контроллера |
|
|
Включить внешний сервис |
|
|
Аннотации для внешнего сервиса |
|
|
Метки для сервисов |
|
|
Тип внешнего сервиса |
|
|
Внутренний IP кластера для внешнего сервиса |
|
|
Внешние IP-адреса |
|
|
IP балансировщика нагрузки (устарело) |
|
|
Разрешенные IP диапазоны |
|
|
Класс балансировщика нагрузки |
|
|
Политика внешнего трафика |
|
|
Сродство сессий |
|
|
Политика IP-семейств |
|
|
Семейства IP адресов |
|
|
Включить HTTP |
|
|
Включить HTTPS |
|
|
Внешний HTTP-порт |
|
|
Внешний HTTPS-порт |
|
|
Целевой HTTP-порт |
|
|
Целевой HTTPS-порт |
|
|
Объявлять протокол приложения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Включить внутренний сервис |
|
|
Аннотации для внутреннего сервиса |
|
|
Тип внутреннего сервиса |
|
|
Внутренний IP для внутреннего сервиса |
|
|
Внешние IP для внутреннего сервиса |
|
|
IP-балансировщика для внутреннего сервиса |
|
|
Диапазоны IP для внутреннего сервиса |
|
|
Класс балансировщика для внутреннего сервиса |
|
|
Политика трафика для внутреннего сервиса |
|
|
Сродство сессий для внутреннего сервиса |
|
|
Политика IP-семейств для внутреннего сервиса |
|
|
IP-семейства для внутреннего сервиса |
|
|
Порты для внутреннего сервиса |
|
|
Целевые порты для внутреннего сервиса |
|
|
Протокол приложения для внутреннего сервиса |
|
|
|
|
|
|
|
|
TCP |
|
|
UDP |
|
|
Разделять пространство процессов |
|
|
Дополнительные контейнеры |
|
|
Дополнительные монтирования томов |
|
|
Дополнительные тома |
|
|
Дополнительные init-контейнеры |
|
|
Дополнительные модули |
|
|
Имя |
|
|
Аннотации для |
|
|
Включить |
|
|
Дополнительные переменные окружения |
|
|
Политика при ошибках |
|
|
Порт webhook |
|
|
Путь к сертификату |
|
|
Путь к ключу |
|
|
Селектор namespace |
|
|
Селектор объектов |
|
|
Метки для webhook |
|
|
Существующая PSP |
|
|
Аннотации сервиса webhook |
|
|
Внешние IP-сервиса webhook |
|
|
Диапазоны IP для webhook |
|
|
Порт сервиса webhook |
|
|
Тип сервиса webhook |
|
|
Имя задачи создания секрета |
|
|
Контекст безопасности задачи |
|
|
Ресурсы задачи создания секрета |
|
|
Имя задачи патчинга webhook |
|
|
Контекст безопасности патчинга |
|
|
Ресурсы задачи патчинга |
|
|
Включить патчинг webhook |
|
|
Реестр образа для патчинга |
|
|
Образ для патчинга |
|
|
Тег образа для патчинга |
|
|
Дайджест образа для патчинга |
|
|
Политика загрузки образа |
|
|
Класс приоритета для патчинга |
|
|
Аннотации пода патчинга |
|
|
|
|
|
Селектор узлов для патчинга |
|
|
Tolerations для патчинга |
|
|
Метки для патчинга |
|
|
Контекст безопасности патчинга |
|
|
Создать RBAC для патчинга |
|
|
Создать |
|
|
Имя |
|
|
Автомонтирование токена |
|
|
Использовать Cert-manager |
|
|
Длительность корневого сертификата |
|
|
Длительность сертификата webhook |
|
|
Порт метрик |
|
|
Имя порта метрик |
|
|
Включить метрики |
|
|
Аннотации сервиса метрик |
|
|
Метки сервиса метрик |
|
|
Внешние IP-сервиса метрик |
|
|
Диапазоны IP сервиса метрик |
|
|
Порт сервиса метрик |
|
|
Тип сервиса метрик |
|
|
Включить |
|
|
Дополнительные метки |
|
|
Аннотации |
|
|
Namespace для |
|
|
Селектор namespace для мониторинга |
|
|
Интервал сбора метрик |
|
|
Целевые метки |
|
|
Перемаркировка метрик |
|
|
Перемаркировка значений метрик |
|
|
Включить |
|
|
Дополнительные метки правил |
|
|
Правила Prometheus |
|
|
Команда для корректного завершения |
|
|
Класс приоритета pod |
|
|
Лимит истории ревизий |
|
revisionHistoryLimit - лимит истории ревизий#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Лимит сохраняемых ревизий развертывания |
|
defaultBackend - настройки backend по умолчанию#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить backend по умолчанию |
|
|
Имя backend по умолчанию |
|
|
Реестр образа backend |
|
|
Образ backend |
|
|
Тег образа backend |
|
|
Политика загрузки образа backend |
|
|
Запуск без root для backend |
|
|
ID пользователя для backend |
|
|
Разрешить повышение привилегий |
|
|
Тип профиля |
|
|
Файловая система только для чтения |
|
|
Существующая PSP для backend |
|
|
Дополнительные аргументы backend |
|
|
Создать |
|
|
Имя |
|
|
Автомонтирование токена |
|
|
Дополнительные переменные окружения |
|
|
Порт backend |
|
|
Порог неудач проверки живости |
|
|
Начальная задержка проверки живости |
|
|
Период проверки живости |
|
|
Порог успешности |
|
|
Время ожидания проверки |
|
|
Порог неудач проверки готовности |
|
|
Начальная задержка проверки готовности |
|
|
Период проверки готовности |
|
|
Порог успешности |
|
|
Время ожидания проверки |
|
|
Стратегия обновления backend |
|
|
Минимальное время готовности |
|
|
Tolerations для backend |
|
|
Правила аффинности для backend |
|
|
Ограничения распределения backend |
|
|
Контекст безопасности пода backend |
|
|
Контекст безопасности контейнера |
|
|
Метки pods backend |
|
|
Селектор узлов для backend |
|
|
Аннотации pods backend |
|
|
Количество реплик backend |
|
|
Минимальное количество доступных pods |
|
|
Ресурсы для backend |
|
|
Дополнительные монтирования томов |
|
|
Дополнительные тома |
|
|
Дополнительные |
|
|
Аннотации автомасштабирования |
|
|
Включить автомасштабирование |
|
|
Минимальное количество реплик |
|
|
Максимальное количество реплик |
|
|
Целевая утилизация CPU |
|
|
Целевая утилизация памяти |
|
|
Включить |
|
|
Аннотации сервиса backend |
|
|
Внешний IP-сервис backend |
|
|
IP-диапазоны сервиса backend |
|
|
Порт сервиса backend |
|
|
Тип сервиса backend |
|
|
Класс приоритета backend |
|
|
Метки ресурсов backend |
|
rbac - контроль доступа на основе ролей#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать ресурсы RBAC |
|
|
Ограничить RBAC-областью |
|
podSecurityPolicy - политика безопасности подов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить Pod Security Policy |
|
serviceAccount - сервисная учетная запись#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать |
|
|
Имя |
|
|
Автомонтирование токена |
|
|
Аннотации для |
|
imagePullSecrets - секреты для загрузки образов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Секреты для доступа к приватным реестрам |
|
tcp - конфигурация TCP-сервисов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Сопоставление TCP-сервисов (формат |
|
udp - конфигурация UDP-сервисов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Сопоставление UDP-сервисов (формат |
|
portNamePrefix - префикс имен портов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Префикс для имен TCP и UDP портов в сервисе контроллера |
|
dhParam - параметры Diffie-Hellman#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Base64-кодированный параметр |
|