Стадия жизненного цикла модуля: Общедоступная версия

У модуля есть требования для установки

v1.3.0

Ключевые изменения

  • ВАЖНО: если в IngressNginxController задан geoIP2, поды контроллера и валидатора теперь запускаются только после загрузки баз GeoIP2. Раньше при ошибке загрузки контроллер запускался без баз, и ошибки проявлялись позже, например при загрузке конфигурации, использующей переменные GeoIP2. Теперь проблема обнаруживается при запуске пода. Перед обновлением убедитесь, что geoproxy может загрузить настроенные базы.
  • Добавлены аннотации Deckhouse для Ingress, заменяющие наиболее распространённые snippet-аннотации; подробнее см. в документации
  • Nginx был обновлен до 1.30.6

Новый функционал

  • Добавлены аннотации Deckhouse для Ingress, заменяющие наиболее распространённые snippet-аннотации; подробнее см. в документации
  • Аннотация custom-headers теперь доступна в контроллере 1.10
  • Заголовки X-Frame-Options, X-Content-Type-Options и Content-Security-Policy добавлены в global-allowed-response-headers, поэтому аннотация custom-headers может задавать их без дополнительной настройки
  • Базы GeoIP2 загружаются в поды контроллера из geoproxy init-контейнером и sidecar-контейнером geoip-loader, а не самим контроллером; обновлённые базы NGINX перечитывает без перезагрузки конфигурации
  • В дашборды Grafana добавлена панель GeoIP DB status per controller

Улучшения

  • Обновлена подложка карты в панелях geomap дашбордов Grafana

Исправления

  • Поды controller-manager, kruise, validator и geoproxy теперь привязываются к узлам amd64, только если узлы в кластере имеют разные архитектуры. Раньше привязка применялась всегда.

Обновления безопасности

  • В образах и хуках модуля обновлены golang.org/x/crypto, golang.org/x/net, golang.org/x/text и связанные Go-модули, а также версия Go, чтобы устранить известные уязвимости
  • Nginx был обновлен до 1.30.6

Несовместимые изменения

  • Если в IngressNginxController задан geoIP2, init-контейнер geoip-loader-init загружает базы GeoIP2 из geoproxy до запуска контроллера и завершается с ошибкой, пока загрузка не удастся. Под контроллера или валидатора не запускается, пока базы не удаётся загрузить, например при недействительном maxmindLicenseKey или недоступности MaxMind или зеркала. Обновление контроллера в этом случае останавливается на первом новом поде: контроллеры с inlet LoadBalancer продолжают обслуживать трафик старыми подами, а при остальных inlet узел, под которого заменяется, перестаёт обслуживать трафик.

Рекомендации по обновлению

  • Перед обновлением кластеров, в которых у IngressNginxController задан geoIP2, убедитесь, что указанные в geoIP2 maxmindLicenseKey или зеркало действительны и доступны из кластера. Если после обновления под контроллера остаётся в состоянии Init, причина ошибки отображается в статусе его init-контейнера geoip-loader-init.

Документация

  • В FAQ добавлен раздел о дополнительных аннотациях Ingress и о замене ими snippet-аннотаций

v1.2.1

Ключевые изменения

  • Аннотация nginx.ingress.kubernetes.io/ingress-nginx-hsts теперь принимается в любом пространстве имён

Новый функционал

  • Аннотация nginx.ingress.kubernetes.io/ingress-nginx-hsts теперь принимается на Ingress-ресурсах в любом пространстве имён, включая пространства имён приложений и kube-system

v1.2.0

Ключевые изменения

  • API IngressNginxController расширен секцией annotationPolicy, которая управляет тем, какие аннотации Ingress принимает контроллер

Новый функционал

  • Добавлена секция annotationPolicy в IngressNginxController: allowSnippetAnnotations, riskLevel, allowCrossNamespaceResources и valueWordBlocklist, которые соответствуют одноимённым параметрам ConfigMap контроллера
  • Добавлены две аннотации Deckhouse для Ingress-ресурсов модулей: proxy-ssl-use-controller-certificate и ingress-nginx-hsts. Они задают фиксированную конфигурацию NGINX без включения snippet-аннотаций.
  • Canary-Ingress теперь может задать собственную аннотацию backend-protocol вместо наследования протокола основного Ingress
  • Добавлены метрика nginx_ingress_controller_rejected_annotation и алерт NginxIngressAnnotationsRejected, сообщающие об Ingress-ресурсах, аннотации которых контроллер отклоняет
  • Добавлена колонка AGE для ресурса IngressNginxController

Исправления

  • Параметры ConfigMap, связанные с аннотациями, теперь применяются к Ingress-ресурсам, существовавшим на момент изменения параметра
  • В логах отклонения аннотаций теперь указываются Ingress, проблемная аннотация и превышенный уровень риска

Документация

  • Обновлена документация

v1.1.5

Исправления

  • Версия nginx обновлена до 1.30.5

v1.1.4

Исправления

  • Валидация IngressNginxController была немного смягчена для соответствия соглашениям Kubernetes

v1.1.3

Ключевые изменения

  • Уменьшено потребление памяти Kruise controller за счёт отключения ненужного кэширования CRD
  • Модуль был переработан для предотвращения yaml-инъекций

Исправления

  • Модуль был переработан для предотвращения yaml-инъекций
  • Добавлены недостающие правила anti-affinity
  • Исправлено определение настоящего IP-адреса клиента для инлетов WithSSLPassthrough
  • Исправлены настройки настоящего IP-адреса клиента для инлетов ProxyProtocol

Документация

  • Обновлена документация

v1.1.2

Исправления

  • Kruise controller использует локальный (относительно модуля) образ kube-rbac-proxy
  • HPA scaler использует локальный (относительно модуля) образ pause

v1.1.1

Исправления

  • Pod policy action для неймспейса модуля установлен в “warn” для исключения блокировок при обновлении подов

v1.1.0

Ключевые изменения

  • NGINX обновлён до версии 1.30.4

Улучшения

  • NGINX обновлён до версии 1.30.4

Исправления

  • Исправлены тесты
  • Устранены уязвимости в зависимостях

Зависимости

  • Go обновлён до версии 1.26.6

v1.0.15

Исправления

  • Исправлены RBACv1 правила

v1.0.14

Исправления

  • Исправлены последние CVE
  • Исправлены RBAC правила в части доступа к kruise daemonsets/scale

v1.0.13

Ключевые изменения

  • Исправлена CSE-сборка модуля с OpenVEX

Исправления

  • Исправлена CSE-сборка модуля с OpenVEX

v1.0.12

Ключевые изменения

  • Добавлены декларации OpenVEX для GO-2026-5932
  • Исправлены аннотации webhook OpenKruise

Исправления

  • Исправлены аннотации webhook OpenKruise

Обновления безопасности

  • Добавлены декларации OpenVEX для GO-2026-5932

v1.0.11

Ключевые изменения

  • Сборка обновлена, больше не используется build_dir
  • Добавлен changelog

Улучшения

  • Сборка обновлена, больше не используется build_dir
  • Добавлен changelog

v1.0.10

Ключевые изменения

  • Исправлены шаблоны
  • Исправлены замечания CVE и DMT

Исправления

  • Исправлены шаблоны
  • Исправлены замечания CVE и DMT

v1.0.9

Ключевые изменения

  • Переработан расчёт метрики хеша конфигурации

Улучшения

  • Переработан расчёт метрики хеша конфигурации, чтобы снизить число ложных срабатываний

v1.0.8

Ключевые изменения

  • Исправлен ряд CVE
  • Исправлены template-тесты

Исправления

  • Исправлен ряд CVE
  • Исправлены template-тесты

v1.0.7

Ключевые изменения

  • Модуль включён по умолчанию

Новый функционал

  • Модуль включён по умолчанию

v1.0.6

Ключевые изменения

  • Обновлён процесс сборки

Улучшения

  • Обновлён процесс сборки

v1.0.4

Ключевые изменения

  • Добавлен production CI

Новый функционал

  • Добавлен production CI

Документация

  • Обновлена документация

v1.0.3

Ключевые изменения

  • Исправлены точки монтирования failover-компонента

Исправления

  • Исправлены точки монтирования failover-компонента

v1.0.2

Ключевые изменения

  • Исправлены точки монтирования контроллера

Исправления

  • Исправлены точки монтирования контроллера

v1.0.1

Ключевые изменения

  • Исправлены точки монтирования контроллера
  • Обновлён Nginx

Улучшения

  • Nginx обновлён до версии 1.30.3 для устранения актуальных CVE

Исправления

  • Исправлены точки монтирования контроллера для соответствия редакции CSE

v1.0.0

Ключевые изменения

  • Добавлена новая версия CRD
  • Добавлена новая версия контроллера
  • Добавлен controller manager

Новый функционал

  • Добавлен параметр validationIsolationMode для IngressNginxController версий 1.14 и 1.15. Он включает дополнительные уровни изоляции при выполнении задач валидации.
  • Добавлен контроллер Ingress Nginx версии 1.15.1
  • Добавлен controller manager. Сейчас он выполняет только конвертацию и валидацию; в следующих релизах полностью заменит Kruise controller manager.

Улучшения

  • Добавлена CRD IngressNginxController v2 с новыми полями для управления ресурсами

Документация

  • Обновлена документация