Вышел NGINX Ingress Controller v1.0.0 для Kubernetes
Новая версия Ingress-контроллера, разрабатываемого в рамках сообщества Kubernetes*, поддерживает только K8s версии v1.19 и выше, а в частности и последний релиз — v1.22. При миграции на этот релиз важно знать, что v1.0.0 несёт в себе важное, «ломающее», изменение.
* Важно не перепутать этот проект с другим контроллером, имеющим схожее название и разрабатывемым в компании F5 NGINX.
Отказ от поддержки v1beta1
Новая версия контроллера больше не работает с бета-версией API networking.k8s.io/v1beta1
, поэтому в YAML-манифестах с объектами Ingress вместо v1beta1
теперь нужно указывать v1
.
Было:
apiVersion: networking.k8s.io/v1beta1
Стало:
apiVersion: networking.k8s.io/v1
Для миграции на networking.k8s.io/v1
разработчики также подготовили специальный FAQ, с которым стоит ознакомиться, если перед вами тоже стоит эта задача.
Прочие изменения
Всего в NGINX Ingress Controller v1.0.0 — более 30 изменений (полный список см. в changelog). Среди интересных новых возможностей:
добавлена возможность настройки поведения HPA-контроллера через Helm-чарт (PR 7203);
в Helm-чарте поддерживается поле
appProtocol
для портов сервисов, чтобы идентифицировать их как HTTP и/или HTTPS (PR 7493);добавлен новый флаг
--disable-svc-external-name
, с помощью которого можно закрывать Ingress для внешних подключений (PR 7314).
P.S.
Мы во «Фланте» уже долгое время используем именно этот Ingress-контроллер для своих Kubernetes-кластеров (в том числе и в платформе Deckhouse), а также участвуем в его разработке по мере необходимости и возможности. Первый принятый от нас PR 2486 датируется июнем 2018 года, а последний (PR 7541) — был одобрен менее суток назад.
P.P. S.
Читайте также в нашем блоге: