Стадия жизненного цикла модуля: Общедоступная версия
У модуля есть требования для установки
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 с новыми полями для управления ресурсами
Документация
- Обновлена документация