Ingress-nginx#

Ingress-nginx - это контроллер Ingress для Kubernetes, основанный на веб-сервере NGINX , который обеспечивает управление входящим HTTP(S)-трафиком в кластер и маршрутизацию его к соответствующим сервисам. Он реализует ресурс Ingress из Kubernetes API и предоставляет мощные функции балансировки нагрузки, терминации TLS, гибкой маршрутизации, ограничения трафика и других сетевых возможностей.

Основные задачи и возможности
  • Маршрутизация трафика:

    Позволяет направлять запросы по доменам (host) и путям URL (path) на разные сервисы.

  • Поддержка HTTPS (TLS-терминация):

    Обрабатывает зашифрованный трафик, используя сертификаты из Kubernetes Secret. Поддерживает автоматическую переадресацию с HTTP на HTTPS.

  • Балансировка нагрузки:

    Распределяет трафик между pod сервисов с возможностью выбора алгоритма балансировки.

  • Гибкая конфигурация через аннотации:

    Позволяет настраивать параметры 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 для создаваемых ресурсов#

Параметр

Описание

Значение по умолчанию

namespaceOverride

Переопределяет пространство имен для развертывания; по умолчанию используется .Release.Namespace

""

commonLabels - задать общие метки для всех ресурсов чарта#

Параметр

Описание

Значение по умолчанию

commonLabels

Набор общих меток, которые добавляются ко всем создаваемым ресурсам

{}

controller - определить настройки ingress-nginx controller#

Параметр

Описание

Значение по умолчанию

controller.name

Имя контроллера

controller

controller.enableAnnotationValidations

Включить валидацию аннотаций

false

controller.image.chroot

Использовать chroot-окружение

false

controller.image.registry

Реестр образов для контроллера

'{{ .Values.global.image.registry }}'

controller.image.image

Имя образа контроллера

dapp-ingress-nginx/controller

controller.image.repository

Полный путь к репозиторию образа

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-ingress-nginx/controller'

controller.image.tag

Тег образа контроллера

"v1.13.9"

controller.image.digest

Дайджест образа для дополнительной безопасности

""

controller.image.digestChroot

Дайджест chroot-образа

""

controller.image.pullPolicy

Политика загрузки образа

IfNotPresent

controller.image.runAsNonRoot

Запускать без root привилегий

true

controller.image.runAsUser

ID пользователя для запуска контроллера

101

controller.image.runAsGroup

ID группы для запуска контроллера

82

controller.image.allowPrivilegeEscalation

Разрешить повышение привилегий

false

controller.image.seccompProfile.type

Тип профиля seccomp для безопасности

RuntimeDefault

controller.image.readOnlyRootFilesystem

Использовать файловую систему только для чтения

false

controller.containerName

Имя контейнера контроллера

controller

controller.containerPort.http

HTTP-порт контроллера

80

controller.containerPort.https

HTTPS-порт контроллера

443

controller.config

Глобальная конфигурация, передаваемая в ConfigMap

{}

controller.configAnnotations

Аннотации для ConfigMap конфигурации

{}

controller.proxySetHeaders

Пользовательские заголовки для бэкендов

{}

controller.addHeaders

Пользовательские заголовки для ответов клиентам

{}

controller.dnsConfig

Настройка DNS для pod

{}

controller.hostAliases

Пользовательские записи хостов

[]

controller.hostname

Пользовательское имя хоста pod

{}

controller.dnsPolicy

Политика DNS (ClusterFirst, ClusterFirstWithHostNet при hostNetwork: true)

ClusterFirst

controller.runtimeClassName

Имя RuntimeClass для запуска pod контроллера

""

controller.reportNodeInternalIp

Использовать внутренний IP узла для bare-metal установок

false

controller.watchIngressWithoutClass

Обрабатывать Ingress без указания ingressClass

false

controller.ingressClassByName

Обрабатывать IngressClass по имени

false

controller.enableTopologyAwareRouting

Включить топологически-осведомленную маршрутизацию

false

controller.disableLeaderElection

Отключить выборы лидера

false

controller.electionTTL

Время действия выборов лидера

""

controller.allowSnippetAnnotations

Разрешить snippet-аннотации пользователям

false

controller.hostNetwork

Использовать сеть хоста

false

controller.hostPort.enabled

Включить hostPort

false

controller.hostPort.ports.http

HTTP-порт хоста

80

controller.hostPort.ports.https

HTTPS-порт хоста

443

controller.networkPolicy.enabled

Включить NetworkPolicy

false

controller.electionID

ID для выборов лидера

""

controller.ingressClassResource.name

Имя IngressClass

nginx

controller.ingressClassResource.enabled

Создать IngressClass ресурс

true

controller.ingressClassResource.default

Сделать IngressClass по умолчанию

true

controller.ingressClassResource.annotations

Аннотации для IngressClass

{}

controller.ingressClassResource.controllerValue

Значение контроллера для IngressClass

k8s.io/ingress-nginx

controller.ingressClassResource.aliases

Пользовательские записи IngressClass

[]

controller.ingressClassResource.parameters

Дополнительные параметры IngressClass

{}

controller.ingressClass

Класс ingress для обратной совместимости

nginx

controller.podLabels

Метки для подов контроллера

{}

controller.podSecurityContext.runAsGroup

ID группы для pod

10001

controller.podSecurityContext.runAsNonRoot

Запуск без root

true

controller.podSecurityContext.runAsUser

ID пользователя для pod

10001

controller.sysctls

Системные параметры ядра

{}

controller.containerSecurityContext.allowPrivilegeEscalation

Разрешить повышение привилегий

false

controller.containerSecurityContext.capabilities.drop

Отбрасываемые capabilities

- ALL

controller.containerSecurityContext.capabilities.add

Добавляемые capabilities

- NET_BIND_SERVICE

controller.containerSecurityContext.readOnlyRootFilesystem

Файловая система только для чтения

false

controller.containerSecurityContext.runAsNonRoot

Запуск без root

true

controller.containerSecurityContext.runAsUser

ID пользователя

101

controller.containerSecurityContext.seccompProfile.type

Тип профиля seccomp

RuntimeDefault

controller.publishService.enabled

Публиковать сервис для статуса Ingress

true

controller.publishService.pathOverride

Переопределить путь сервиса

""

controller.scope.enabled

Ограничить контроллер определенным пространством имен

false

controller.scope.namespace

Пространство имен для ограничения

""

controller.scope.namespaceSelector

Селектор пространства имен по меткам

""

controller.configMapNamespace

Пространство имен для ConfigMap

""

controller.tcp.configMapNamespace

Пространство имен для TCP ConfigMap

""

controller.tcp.annotations

Аннотации для TCP ConfigMap

{}

controller.udp.configMapNamespace

Пространство имен для UDP ConfigMap

""

controller.udp.annotations

Аннотации для UDP ConfigMap

{}

controller.maxmindLicenseKey

Лицензионный ключ Maxmind для GeoLite2

""

controller.extraArgs.enable-metrics

Дополнительный аргумент контроллера для включения метрик

true

controller.extraArgs.enable-ssl-passthrough

Включить SSL passthrough

true

controller.extraEnvs

Дополнительные переменные окружения

[]

controller.kind

Тип развертывания (Deployment или DaemonSet)

Deployment

controller.annotations

Аннотации для Deployment/DaemonSet

{}

controller.labels

Метки для ресурсов

{}

controller.updateStrategy

Стратегия обновления

{}

controller.progressDeadlineSeconds

Время ожидания прогресса Deployment до фиксации ошибки развертывания

0

controller.minReadySeconds

Минимальное время готовности pod

0

controller.tolerations

Tolerations для размещения на узлах

[]

controller.affinity

Правила аффинности

{}

controller.topologySpreadConstraints

Ограничения распределения по топологии

[]

controller.terminationGracePeriodSeconds

Время корректного завершения

300

controller.nodeSelector.kubernetes.io/os

Селектор ОС узла

linux

controller.livenessProbe.httpGet.path

Путь для проверки livenessProbe

"/healthz"

controller.livenessProbe.httpGet.port

Порт для проверки livenessProbe

10254

controller.livenessProbe.httpGet.scheme

Схема для проверки livenessProbe

HTTP

controller.livenessProbe.initialDelaySeconds

Начальная задержка проверки livenessProbe

10

controller.livenessProbe.periodSeconds

Период проверки livenessProbe

10

controller.livenessProbe.timeoutSeconds

Время ожидания проверки livenessProbe

1

controller.livenessProbe.successThreshold

Порог успешности

1

controller.livenessProbe.failureThreshold

Порог неудач

5

controller.readinessProbe.httpGet.path

Путь для проверки готовности

"/healthz"

controller.readinessProbe.httpGet.port

Порт для проверки готовности

10254

controller.readinessProbe.httpGet.scheme

Схема для проверки готовности

HTTP

controller.readinessProbe.initialDelaySeconds

Начальная задержка проверки готовности

10

controller.readinessProbe.periodSeconds

Период проверки готовности

10

controller.readinessProbe.timeoutSeconds

Время ожидания проверки готовности

1

controller.readinessProbe.successThreshold

Порог успешности

1

controller.readinessProbe.failureThreshold

Порог неудач

3

controller.healthCheckPath

Путь для проверки здоровья

"/healthz"

controller.healthCheckHost

Хост для проверки здоровья

""

controller.podAnnotations

Аннотации для pod

{}

controller.replicaCount

Количество реплик

1

controller.minAvailable

Минимальное количество доступных pod

1

controller.unhealthyPodEvictionPolicy

Политика eviction для нездоровых pod, защищенных PodDisruptionBudget

""

controller.resources.requests.cpu

CPU request для контейнера контроллера

100m

controller.resources.requests.memory

Memory request для контейнера контроллера

90Mi

controller.autoscaling.enabled

Включить автомасштабирование

false

controller.autoscaling.annotations

Аннотации для HPA

{}

controller.autoscaling.minReplicas

Минимальное количество реплик

1

controller.autoscaling.maxReplicas

Максимальное количество реплик

11

controller.autoscaling.targetCPUUtilizationPercentage

Целевая утилизация CPU

50

controller.autoscaling.targetMemoryUtilizationPercentage

Целевая утилизация памяти

50

controller.autoscaling.behavior

Поведение масштабирования HPA

{}

controller.autoscalingTemplate

Шаблон пользовательских метрик

[]

controller.keda.apiVersion

Версия API KEDA

"keda.sh/v1alpha1"

controller.keda.enabled

Включить KEDA автомасштабирование

false

controller.keda.minReplicas

Минимальное количество реплик KEDA

1

controller.keda.maxReplicas

Максимальное количество реплик KEDA

11

controller.keda.pollingInterval

Интервал опроса KEDA

30

controller.keda.cooldownPeriod

Период охлаждения KEDA

300

controller.keda.restoreToOriginalReplicaCount

Восстановить исходное количество реплик

false

controller.keda.scaledObject.annotations

Аннотации для ScaledObject

{}

controller.keda.triggers

Триггеры KEDA

[]

controller.keda.behavior

Поведение KEDA

{}

controller.enableMimalloc

Включить mimalloc как замену malloc

true

controller.customTemplate.configMapName

Имя ConfigMap для пользовательского шаблона

""

controller.customTemplate.configMapKey

Ключ ConfigMap для шаблона

""

controller.service.enabled

Создавать сервисы контроллера, не влияет на admission webhook и metrics service

true

controller.service.external.enabled

Создавать внешний сервис контроллера, полезно для internal-only сценариев

true

controller.service.external.labels

Метки для внешнего сервиса контроллера

{}

controller.service.annotations

Аннотации для внешнего сервиса контроллера

{}

controller.service.labels

Метки для обоих сервисов контроллера

{}

controller.service.type

Тип внешнего сервиса контроллера

LoadBalancer

controller.service.clusterIP

Предопределенный clusterIP внешнего сервиса, значение неизменяемо после создания

""

controller.service.clusterIPs

Список clusterIP внешнего сервиса, значение неизменяемо после создания

[]

controller.service.externalIPs

Список внешних IP-адресов внешнего сервиса

[]

controller.service.loadBalancerIP

Устаревший параметр для предопределенного IP внешнего балансировщика

""

controller.service.loadBalancerSourceRanges

Список CIDR, которым разрешен доступ к внешнему сервису

[]

controller.service.loadBalancerClass

Класс балансировщика для внешнего сервиса

""

controller.service.externalTrafficPolicy

Политика внешнего трафика для сервиса, значение Local позволяет сохранять исходный IP клиента

"Local"

controller.service.sessionAffinity

Режим session affinity внешнего сервиса, допустимые значения None и ClientIP

""

controller.service.trafficDistribution

Политика распределения трафика внешнего сервиса, например PreferClose

""

controller.service.ipFamilyPolicy

Политика IP family для внешнего сервиса, возможны SingleStack, PreferDualStack, RequireDualStack

SingleStack

controller.service.ipFamilies

Список IP family внешнего сервиса

- IPv4

controller.service.enableHttp

Включает HTTP listener на обоих сервисах контроллера

true

controller.service.enableHttps

Включает HTTPS listener на обоих сервисах контроллера

true

controller.service.ports.http

Порт публикации внешнего HTTP listener

80

controller.service.ports.https

Порт публикации внешнего HTTPS listener

443

controller.service.targetPorts.http

Порт контейнера, на который направляется внешний HTTP listener

http

controller.service.targetPorts.https

Порт контейнера, на который направляется внешний HTTPS listener

https

controller.service.appProtocol

Объявляет appProtocol для HTTP и HTTPS listener сервиса

true

controller.service.nodePorts.http

NodePort для внешнего HTTP listener, если пусто — выделяется автоматически

""

controller.service.nodePorts.https

NodePort для внешнего HTTPS listener, если пусто — выделяется автоматически

""

controller.service.nodePorts.tcp

Соответствие внешних TCP listener и nodePort

{}

controller.service.nodePorts.udp

Соответствие внешних UDP listener и nodePort

{}

controller.service.internal.enabled

Создавать внутренний сервис контроллера, при включении нужно настроить controller.service.internal.annotations

false

controller.service.internal.labels

Метки для внутреннего сервиса контроллера

{}

controller.service.internal.annotations

Аннотации для внутреннего сервиса контроллера, обязательны для его создания в облачных сценариях

{}

controller.service.internal.type

Тип внутреннего сервиса контроллера, по умолчанию наследуется от controller.service.type

""

controller.service.internal.clusterIP

Предопределенный clusterIP внутреннего сервиса, значение неизменяемо после создания

""

controller.service.internal.clusterIPs

Список clusterIP внутреннего сервиса, значение неизменяемо после создания

[]

controller.service.internal.externalIPs

Список внешних IP-адресов внутреннего сервиса

[]

controller.service.internal.loadBalancerIP

Устаревший параметр для предопределенного IP внутреннего балансировщика

""

controller.service.internal.loadBalancerSourceRanges

Список CIDR, которым разрешен доступ к внутреннему сервису

[]

controller.service.internal.loadBalancerClass

Класс балансировщика для внутреннего сервиса

""

controller.service.internal.externalTrafficPolicy

Политика внешнего трафика для внутреннего сервиса

""

controller.service.internal.sessionAffinity

Режим session affinity внутреннего сервиса, допустимые значения None и ClientIP

""

controller.service.internal.trafficDistribution

Политика распределения трафика внутреннего сервиса, например PreferClose

""

controller.service.internal.ipFamilyPolicy

Политика IP family для внутреннего сервиса

SingleStack

controller.service.internal.ipFamilies

Список IP family внутреннего сервиса

- IPv4

controller.service.internal.ports

Порты публикации внутреннего сервиса, по умолчанию наследуются от внешнего сервиса

{}

controller.service.internal.targetPorts

Целевые порты контейнера для внутреннего сервиса, по умолчанию наследуются от внешнего сервиса

{}

controller.service.internal.appProtocol

Объявляет appProtocol для HTTP и HTTPS listener внутреннего сервиса

true

controller.service.internal.nodePorts.http

NodePort для внутреннего HTTP listener, если пусто — выделяется автоматически

""

controller.service.internal.nodePorts.https

NodePort для внутреннего HTTPS listener, если пусто — выделяется автоматически

""

controller.service.internal.nodePorts.tcp

Соответствие внутренних TCP listener и nodePort

{}

controller.service.internal.nodePorts.udp

Соответствие внутренних UDP listener и nodePort

{}

controller.shareProcessNamespace

Включает общий process namespace внутри pod, например для сигнализации sidecar-контейнерами

false

controller.extraContainers

Дополнительные контейнеры в pod контроллера

[]

controller.extraVolumeMounts

Дополнительные volumeMounts для основного контейнера контроллера

[]

controller.extraVolumes

Дополнительные volumes для pod контроллера

[]

controller.extraInitContainers

Init containers, запускаемые до основных контейнеров приложения

[]

controller.extraModules

Дополнительные модули, монтируемые в базовый образ nginx

[]

controller.admissionWebhooks.name

Имя admission webhook-компонента

admission

controller.admissionWebhooks.annotations

Аннотации для admission webhooks и связанных job

{}

controller.admissionWebhooks.enabled

Включает admission webhooks

true

controller.admissionWebhooks.extraEnvs

Дополнительные переменные окружения для admission webhooks

[]

controller.admissionWebhooks.failurePolicy

Политика обработки ошибок webhook

Fail

controller.admissionWebhooks.port

Порт admission webhook

8443

controller.admissionWebhooks.certificate

Путь к сертификату admission webhook в контейнере

"/usr/local/certificates/cert"

controller.admissionWebhooks.key

Путь к приватному ключу admission webhook в контейнере

"/usr/local/certificates/key"

controller.admissionWebhooks.namespaceSelector

Селектор namespace для применения admission webhook

{}

controller.admissionWebhooks.objectSelector

Селектор объектов для применения admission webhook

{}

controller.admissionWebhooks.labels

Метки для admission webhooks

{}

controller.admissionWebhooks.service.annotations

Аннотации для сервиса admission webhook

{}

controller.admissionWebhooks.service.externalIPs

Список внешних IP-адресов сервиса admission webhook

[]

controller.admissionWebhooks.service.loadBalancerSourceRanges

Список CIDR, которым разрешен доступ к сервису admission webhook

[]

controller.admissionWebhooks.service.servicePort

Порт сервиса admission webhook

443

controller.admissionWebhooks.service.type

Тип сервиса admission webhook

ClusterIP

controller.admissionWebhooks.createSecretJob.name

Имя job для создания секрета webhook

create

controller.admissionWebhooks.createSecretJob.activeDeadlineSeconds

Предельное время выполнения job создания секрета в секундах

0

controller.admissionWebhooks.createSecretJob.securityContext.runAsNonRoot

Запускать контейнер job создания секрета не от root

true

controller.admissionWebhooks.createSecretJob.securityContext.runAsUser

UID пользователя для job создания секрета

65532

controller.admissionWebhooks.createSecretJob.securityContext.runAsGroup

GID группы для job создания секрета

65532

controller.admissionWebhooks.createSecretJob.securityContext.allowPrivilegeEscalation

Разрешает повышение привилегий для контейнера job создания секрета

false

controller.admissionWebhooks.createSecretJob.securityContext.seccompProfile.type

Тип seccomp-профиля для job создания секрета

RuntimeDefault

controller.admissionWebhooks.createSecretJob.securityContext.capabilities.drop

Linux capabilities, удаляемые у контейнера job создания секрета

- ALL

controller.admissionWebhooks.createSecretJob.securityContext.readOnlyRootFilesystem

Делает корневую файловую систему контейнера job создания секрета только для чтения

true

controller.admissionWebhooks.createSecretJob.resources

Ресурсы для job создания секрета

{}

controller.admissionWebhooks.patchWebhookJob.name

Имя job для patch admission webhook

patch

controller.admissionWebhooks.patchWebhookJob.activeDeadlineSeconds

Предельное время выполнения job patch webhook в секундах

0

controller.admissionWebhooks.patchWebhookJob.securityContext.runAsNonRoot

Запускать контейнер job patch webhook не от root

true

controller.admissionWebhooks.patchWebhookJob.securityContext.runAsUser

UID пользователя для job patch webhook

65532

controller.admissionWebhooks.patchWebhookJob.securityContext.runAsGroup

GID группы для job patch webhook

65532

controller.admissionWebhooks.patchWebhookJob.securityContext.allowPrivilegeEscalation

Разрешает повышение привилегий для контейнера job patch webhook

false

controller.admissionWebhooks.patchWebhookJob.securityContext.seccompProfile.type

Тип seccomp-профиля для job patch webhook

RuntimeDefault

controller.admissionWebhooks.patchWebhookJob.securityContext.capabilities.drop

Linux capabilities, удаляемые у контейнера job patch webhook

- ALL

controller.admissionWebhooks.patchWebhookJob.securityContext.readOnlyRootFilesystem

Делает корневую файловую систему контейнера job patch webhook только для чтения

true

controller.admissionWebhooks.patchWebhookJob.resources

Ресурсы для job patch webhook

{}

controller.admissionWebhooks.patch.enabled

Включает job patch для admission webhook

false

controller.admissionWebhooks.patch.image.image

Имя образа для job генерации сертификатов webhook

ingress-nginx/kube-webhook-certgen

controller.admissionWebhooks.patch.image.tag

Тег образа для job генерации сертификатов webhook

v1.6.9

controller.admissionWebhooks.patch.image.digest

Digest образа для job генерации сертификатов webhook

sha256:<image_digest>

controller.admissionWebhooks.patch.image.pullPolicy

Политика загрузки образа job генерации сертификатов webhook

IfNotPresent

controller.admissionWebhooks.patch.priorityClassName

PriorityClass для job patch webhook

""

controller.admissionWebhooks.patch.runtimeClassName

RuntimeClass для job patch webhook

""

controller.admissionWebhooks.patch.podAnnotations

Аннотации для pod job patch webhook

{}

controller.admissionWebhooks.patch.networkPolicy.enabled

Включает NetworkPolicy для job patch webhook

false

controller.admissionWebhooks.patch.nodeSelector.kubernetes.io/os

Селектор узлов по ОС для job patch webhook

linux

controller.admissionWebhooks.patch.tolerations

Tolerations для job patch webhook

[]

controller.admissionWebhooks.patch.labels

Метки для ресурсов job patch webhook

{}

controller.admissionWebhooks.patch.securityContext

Security context для pod job создания секрета и patch webhook

{}

controller.admissionWebhooks.patch.rbac.create

Создавать RBAC для job patch webhook

true

controller.admissionWebhooks.patch.serviceAccount.create

Создавать service account для job patch webhook

true

controller.admissionWebhooks.patch.serviceAccount.name

Пользовательское имя service account для job patch webhook

""

controller.admissionWebhooks.patch.serviceAccount.automountServiceAccountToken

Автоматически монтировать service account token в job patch webhook

true

controller.admissionWebhooks.certManager.enabled

Использовать cert-manager для выпуска сертификатов admission webhook

true

controller.admissionWebhooks.certManager.rootCert.duration

Срок действия корневого самоподписанного сертификата

""

controller.admissionWebhooks.certManager.rootCert.revisionHistoryLimit

Лимит истории ревизий корневого сертификата

0

controller.admissionWebhooks.certManager.admissionCert.duration

Срок действия сертификата admission webhook

""

controller.admissionWebhooks.certManager.admissionCert.revisionHistoryLimit

Лимит истории ревизий сертификата admission webhook

0

controller.metrics.port

Порт метрик контроллера

10254

controller.metrics.portName

Имя порта метрик

metrics

controller.metrics.enabled

Включает экспорт метрик контроллера

true

controller.metrics.service.enabled

Создавать сервис метрик

true

controller.metrics.service.annotations

Аннотации для сервиса метрик

{}

controller.metrics.service.labels

Метки для ресурса сервиса метрик

{}

controller.metrics.service.externalIPs

Список IP-адресов, на которых доступен сервис метрик

[]

controller.metrics.service.loadBalancerSourceRanges

Список CIDR, которым разрешен доступ к сервису метрик

[]

controller.metrics.service.servicePort

Порт сервиса метрик

10254

controller.metrics.service.type

Тип сервиса метрик

ClusterIP

controller.metrics.serviceMonitor.enabled

Создавать ServiceMonitor для сбора метрик Prometheus Operator

true

controller.metrics.serviceMonitor.additionalLabels

Дополнительные метки для ServiceMonitor

{}

controller.metrics.serviceMonitor.annotations

Аннотации для ServiceMonitor

{}

controller.metrics.serviceMonitor.namespace

Namespace для ServiceMonitor, по умолчанию используется namespace релиза или namespaceOverride

""

controller.metrics.serviceMonitor.namespaceSelector

Селектор namespace для поиска целей ServiceMonitor

{}

controller.metrics.serviceMonitor.scrapeInterval

Интервал опроса метрик

30s

controller.metrics.serviceMonitor.targetLabels

Список меток сервиса, переносимых на метрики

[]

controller.metrics.serviceMonitor.relabelings

Правила relabeling для целей мониторинга

[]

controller.metrics.serviceMonitor.metricRelabelings

Правила metricRelabeling для метрик

[]

controller.metrics.serviceMonitor.labelLimit

Лимит количества меток на одну выборку

0

controller.metrics.serviceMonitor.labelNameLengthLimit

Лимит длины имени метки на одну выборку

0

controller.metrics.serviceMonitor.labelValueLengthLimit

Лимит длины значения метки на одну выборку

0

controller.metrics.serviceMonitor.sampleLimit

Лимит числа выборок за один scrape

0

controller.metrics.serviceMonitor.targetLimit

Лимит числа целей за один scrape

0

controller.metrics.prometheusRule.enabled

Создавать PrometheusRule с алертами для ingress-nginx

false

controller.metrics.prometheusRule.additionalLabels

Дополнительные метки для PrometheusRule

{}

controller.metrics.prometheusRule.annotations

Аннотации для PrometheusRule

{}

controller.metrics.prometheusRule.rules

Список правил PrometheusRule

[]

controller.lifecycle.preStop.exec.command

Команда lifecycle hook preStop для улучшения graceful shutdown и дренирования соединений

- /wait-shutdown

controller.priorityClassName

PriorityClass для pod контроллера

""

revisionHistoryLimit - задать лимит хранимых ревизий Deployment#

Параметр

Описание

Значение по умолчанию

revisionHistoryLimit

Количество предыдущих ревизий, сохраняемых для возможности отката

10

defaultBackend - определить настройки backend по умолчанию для ответов 404#

Параметр

Описание

Значение по умолчанию

defaultBackend.enabled

Включает развертывание backend по умолчанию

false

defaultBackend.name

Имя компонента default backend

defaultbackend

defaultBackend.image.image

Имя образа default backend

defaultbackend-amd64

defaultBackend.image.tag

Тег образа default backend

"1.5"

defaultBackend.image.pullPolicy

Политика загрузки образа default backend

IfNotPresent

defaultBackend.image.runAsNonRoot

Запускать контейнер default backend не от root

true

defaultBackend.image.runAsUser

UID пользователя контейнера default backend

65534

defaultBackend.image.runAsGroup

GID группы контейнера default backend

65534

defaultBackend.image.allowPrivilegeEscalation

Разрешает повышение привилегий внутри контейнера default backend

false

defaultBackend.image.seccompProfile.type

Тип seccomp-профиля для контейнера default backend

RuntimeDefault

defaultBackend.image.readOnlyRootFilesystem

Делает корневую файловую систему контейнера default backend только для чтения

true

defaultBackend.extraArgs

Дополнительные аргументы запуска default backend

{}

defaultBackend.serviceAccount.create

Создавать service account для default backend

true

defaultBackend.serviceAccount.name

Пользовательское имя service account для default backend

""

defaultBackend.serviceAccount.automountServiceAccountToken

Автоматически монтировать service account token в pod default backend

true

defaultBackend.extraEnvs

Дополнительные переменные окружения для pod default backend

[]

defaultBackend.port

Порт контейнера default backend

8080

defaultBackend.livenessProbe.failureThreshold

Количество неуспешных liveness-проверок до перезапуска контейнера

3

defaultBackend.livenessProbe.initialDelaySeconds

Начальная задержка перед запуском livenessProbe

30

defaultBackend.livenessProbe.periodSeconds

Интервал выполнения livenessProbe

10

defaultBackend.livenessProbe.successThreshold

Количество успешных liveness-проверок для признания контейнера живым

1

defaultBackend.livenessProbe.timeoutSeconds

Таймаут livenessProbe

5

defaultBackend.readinessProbe.failureThreshold

Количество неуспешных readiness-проверок до снятия контейнера с ready

6

defaultBackend.readinessProbe.initialDelaySeconds

Начальная задержка перед запуском readinessProbe

0

defaultBackend.readinessProbe.periodSeconds

Интервал выполнения readinessProbe

5

defaultBackend.readinessProbe.successThreshold

Количество успешных readiness-проверок для признания контейнера готовым

1

defaultBackend.readinessProbe.timeoutSeconds

Таймаут readinessProbe

5

defaultBackend.updateStrategy

Стратегия обновления Deployment или DaemonSet default backend

{}

defaultBackend.minReadySeconds

Минимальное время готовности pod перед возможным завершением

0

defaultBackend.tolerations

Tolerations для размещения pod default backend на узлах с taints

[]

defaultBackend.affinity

Правила affinity и anti-affinity для размещения pod default backend

{}

defaultBackend.topologySpreadConstraints

Topology spread constraints для равномерного распределения pod default backend

[]

defaultBackend.podSecurityContext

Security context для pod default backend

{}

defaultBackend.containerSecurityContext

Security context для контейнера default backend

{}

defaultBackend.podLabels

Метки для metadata pod default backend

{}

defaultBackend.nodeSelector.kubernetes.io/os

Селектор узлов по операционной системе для размещения default backend

linux

defaultBackend.podAnnotations

Аннотации для pod default backend

{}

defaultBackend.replicaCount

Количество реплик default backend

1

defaultBackend.minAvailable

Минимальное число доступных pod в PodDisruptionBudget, указывать вместе с maxUnavailable нельзя

1

defaultBackend.unhealthyPodEvictionPolicy

Политика eviction для нездоровых pod, защищенных PodDisruptionBudget

""

defaultBackend.resources

Ресурсы для контейнера default backend

{}

defaultBackend.extraVolumeMounts

Дополнительные volumeMounts для контейнера default backend

[]

defaultBackend.extraVolumes

Дополнительные volumes для pod default backend

[]

defaultBackend.extraConfigMaps

Дополнительные ConfigMap, подключаемые к pod default backend

[]

defaultBackend.autoscaling.annotations

Аннотации для HPA default backend

{}

defaultBackend.autoscaling.enabled

Включает HPA-автомасштабирование default backend

false

defaultBackend.autoscaling.minReplicas

Минимальное число реплик HPA для default backend

1

defaultBackend.autoscaling.maxReplicas

Максимальное число реплик HPA для default backend

2

defaultBackend.autoscaling.targetCPUUtilizationPercentage

Целевой процент загрузки CPU для HPA default backend

50

defaultBackend.autoscaling.targetMemoryUtilizationPercentage

Целевой процент использования памяти для HPA default backend

50

defaultBackend.networkPolicy.enabled

Включает создание NetworkPolicy для компонента default backend

false

defaultBackend.service.annotations

Аннотации для сервиса default backend

{}

defaultBackend.service.clusterIPs

Список clusterIP сервиса default backend, значение неизменяемо после создания

[]

defaultBackend.service.externalIPs

Список IP-адресов, на которых доступен сервис default backend

[]

defaultBackend.service.loadBalancerSourceRanges

Список CIDR, которым разрешен доступ к сервису default backend

[]

defaultBackend.service.servicePort

Порт сервиса default backend

80

defaultBackend.service.type

Тип сервиса default backend

ClusterIP

defaultBackend.priorityClassName

PriorityClass для pod default backend

""

defaultBackend.runtimeClassName

Имя RuntimeClass для запуска pod default backend

""

defaultBackend.labels

Метки для ресурсов default backend

{}

rbac - определить настройки RBAC для ingress-nginx#

Параметр

Описание

Значение по умолчанию

rbac.create

Создавать RBAC-ресурсы для ingress-nginx

true

rbac.scope

Ограничивать RBAC областью namespace вместо cluster-wide прав

false

serviceAccount - определить настройки service account для контроллера#

Параметр

Описание

Значение по умолчанию

serviceAccount.create

Создавать service account для контроллера

true

serviceAccount.name

Пользовательское имя service account для контроллера

""

serviceAccount.automountServiceAccountToken

Автоматически монтировать service account token в pod контроллера

true

serviceAccount.annotations

Аннотации для service account контроллера

{}

imagePullSecrets - задать секреты для загрузки образов из приватных реестров#

Параметр

Описание

Значение по умолчанию

imagePullSecrets

Массив imagePullSecrets с учетными данными приватных реестров

[]

tcp - определить TCP-сервисы, публикуемые через ingress-nginx#

Параметр

Описание

Значение по умолчанию

tcp

Пары ключ-значение для публикации TCP-сервисов через ingress-nginx

{}

udp - определить UDP-сервисы, публикуемые через ingress-nginx#

Параметр

Описание

Значение по умолчанию

udp

Пары ключ-значение для публикации UDP-сервисов через ingress-nginx

{}

portNamePrefix - задать префикс имен портов TCP и UDP в сервисе контроллера#

Параметр

Описание

Значение по умолчанию

portNamePrefix

Префикс для имен TCP и UDP портов в сервисе ingress controller, может требоваться провайдерами облачных балансировщиков

""

dhParam - задать base64-кодированный параметр Диффи — Хеллмана#

Параметр

Описание

Значение по умолчанию

dhParam

Строка с base64-кодированным параметром Диффи — Хеллмана для SSL

""