Облачная платформаEvolution

Миграция c Ingress Nginx на Kgateway


Поддержка Ingress Nginx прекратилась с марта 2026 года, и сейчас его использование сопряжено с рисками из-за отсутствия обновлений безопасности и архитектурных ограничений. Kgateway — это современная альтернатива на базе Envoy, реализующая отраслевой стандарт Gateway API. Миграция на Kgateway дает современную ролевую модель, переносимость конфигураций между реализациями Gateway API и встроенную поддержку сложной маршрутизации.

В инструкции описан пример миграции с Ingress Nginx на Kgateway в кластере Managed Kubernetes.

Перед началом работы

  1. Установите Kgateway в кластер Managed Kubernetes, в котором необходимо выполнить миграцию:

    1. В кластере перейдите в раздел Плагины и в правом верхнем углу нажмите Добавить плагин.

    2. В списке плагинов выберите Kgateway и нажмите Установить.

    3. Выберите версию плагина.

    4. Нажмите Установить.

  2. Подключитесь к кластеру Managed Kubernetes.

  3. Проверьте наличие GatewayClass:

    kubectl get gatewayclass

    Он связывает Kgateway с вашей облачной инфраструктурой и аналогичен IngressClass.

  4. Установите утилиту ingress2gateway.

    Утилита необходима для автоматической конвертации. Она читает ваши существующие Ingress-ресурсы и генерирует на их основе манифесты Kgateway.

2. Переконвертируйте объекты Ingress в Gateway API

  1. Запустите команду для конвертации всех Ingress-ресурсов:

    ingress2gateway print --providers=ingress-nginx ingress-nginx > cloudru-gateway.yaml
  2. В cloudru-gateway.yaml проверьте переконвертированные ресурсы Gateway API и Kgateway и внесите необходимые корректировки.

  3. Чтобы создать объекты, примените cloudru-gateway.yaml в тестовом пространстве имен:

    kubectl apply -f cloudru-gateway.yaml
  4. Проверьте статус созданных ресурсов.

  5. Получите IP-адрес шлюза.

  6. Чтобы убедиться, что маршрутизация, аутентификация и другие настройки работают как ожидается, отправьте тестовые запросы.