Повышение стабильности работы Ingress‑контроллера¶
Info
Ingress‑контроллер Валарм разработан на базе официального Ingress‑контроллера NGINX для Kubernetes. Поэтому большинство рекомендаций для Ingress‑контроллера NGINX применяются и для Ingress‑контроллера Валарм.
Рекомендуем для чтения по данной теме:
Рекомендации по повышению стабильности работы Ingress‑контроллера ниже применяются к production-окружениям.
-
Используйте более одного pod'a Ingress‑контроллера. Количество настраивается в файле
values.yaml
> атрибутcontroller.replicaCount
. Например:
controller: replicaCount: 2
-
Расположите pod'ы Ingress‑контроллеров на разных WAF‑нодах в кластере Kubernetes для увеличения стабильности Ingress в случае ошибки на стороне ноды. Настройка выполняется в файле
values.yaml
> атрибутcontroller.affinity.podAntiAffinity
. Например:
controller: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - nginx-ingress topologyKey: "kubernetes.io/hostname"
-
Используйте модуль горизонтального масштабирования Kubernetes (HPA) для кластеров, которые могут подвергаться скачкам трафика или другим событиям. Включение выполняется в файле
values.yaml
> атрибутcontroller.autoscaling
. Например:
controller: autoscaling: enabled: true minReplicas: 1 maxReplicas: 11 targetCPUUtilizationPercentage: 50 targetMemoryUtilizationPercentage: 50
-
Запустите как минимум 2 экземпляра модуля постаналитики Валарм на основе базы данных Tarantool. Pod'ы для модулей в Kubernetes содержат в названии
ingress‑controller‑wallarm‑tarantool
. Настройка количества экземпляров выполняется в файлеvalues.yaml
> атрибутcontroller.wallarm.tarantool.replicaCount
. Например:
controller: wallarm: tarantool: replicaCount: 2