Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
    • Обзор
      • Обзор
      • Политики Gwin
      • Установка Gwin
      • Миграция приложений с ALB Ingress-контроллера на Gwin
      • Миграция приложений с Ingress NGINX на Gwin
  • История изменений
  • Обучающие курсы

В этой статье:

  • Таблица соответствий аннотаций Ingress NGINX и Gwin
  • Переключите нагрузку на контроллер Gwin
  • Создайте новые ресурсы в кластере
  • Проверьте корректность балансировки нагрузки
  • Перенаправьте трафик на новый балансировщик нагрузки
  • Удалите ненужные ресурсы
  1. Инструменты Application Load Balancer
  2. Gwin
  3. Миграция приложений с Ingress NGINX на Gwin

Миграция приложений с Ingress NGINX на Gwin

Статья создана
Yandex Cloud
Обновлена 9 декабря 2025 г.
  • Таблица соответствий аннотаций Ingress NGINX и Gwin
  • Переключите нагрузку на контроллер Gwin
    • Создайте новые ресурсы в кластере
    • Проверьте корректность балансировки нагрузки
    • Перенаправьте трафик на новый балансировщик нагрузки
    • Удалите ненужные ресурсы

Yandex Application Load Balancer позволяет создавать балансировщики нагрузки и управлять ими в кластерах Yandex Managed Service for Kubernetes с помощью контроллера Gwin. Контроллер Gwin, установленный в кластере, автоматически разворачивает L7-балансировщики на основе конфигурации ваших ресурсов Kubernetes.

Чтобы перенести приложения с контроллера Ingress NGINX на Gwin, выполните следующие шаги:

  1. Установите контроллер Gwin в вашем кластере.
  2. Перенесите пользовательские аннотации с контроллера Ingress NGINX в контроллер Gwin, используя таблицу соответствий.
  3. Переключите нагрузку на контроллер Gwin.

Таблица соответствий аннотаций Ingress NGINX и GwinТаблица соответствий аннотаций Ingress NGINX и Gwin

Для NGINX и Gwin в таблице указаны сокращенные имена аннотаций. Полные имена аннотаций для NGINX начинаются с nginx.ingress.kubernetes.io/, для Gwin — с gwin.yandex.cloud/.

NGINX

Gwin

Описание

Перенаправление

force-ssl-redirect
ssl-redirect

redirect.{name}.replaceScheme

Перенаправляет на другой протокол (HTTP/HTTPS)

permanent-redirect
temporal-redirect
app-root

redirect.{name}.replaceScheme
redirect.{name}.replaceHost
redirect.{name}.replacePort
redirect.{name}.path.replacePath
redirect.{name}.path.replacePrefix
redirect.{name}.removeQuery
redirect.{name}.responseCode

Перенаправляют на другой адрес.

В Gwin для постоянного перенаправления указывается redirect.{name}.responseCode = "301", для временного — redirect.{name}.responseCode = "302"

rewrite-target

rules.prefixRewrite
rules.hostRewrite.auto
rules.hostRewrite.replace
rules.http.regexRewrite.regex
rules.http.regexRewrite.substitute

Перезаписывает URL на уровне прокси без изменения адреса в браузере

Конфигурация бэкенда

backend-protocol

rules.backends.http.useHTTP2

rules.backends.tls.sni
rules.backends.tls.trustedCA.id
rules.backends.tls.trustedCA.bytes

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

Аутентификация клиента

auth-type
auth-secret
auth-secret-type
auth-realm

auth-tls-secret
auth-tls-verify-depth
auth-tls-verify-client
auth-tls-error-page
auth-tls-pass-certificate-to-upstream
auth-tls-match-cn

{resource}.rbac.principals.{principal-group}.{principal}.{rule-type}

В NGINX аутентификация выполняется через HTTP (Basic/Digest) или TLS-сертификаты, в Gwin — с помощью системы управления доступом на основе ролей (RBAC). RBAC управляет доступом к маршрутам и хостам на основе атрибутов запроса

Привязка сессии к бэкенду

affinity
affinity-mode
affinity-canary-behavior

session-cookie-name
session-cookie-path
session-cookie-domain
session-cookie-change-on-failure
session-cookie-samesite
session-cookie-conditional-samesite-none

rules.sessionAffinity.header.name
rules.sessionAffinity.cookie.name
rules.sessionAffinity.cookie.ttl
rules.sessionAffinity.sourceIP

NGINX позволяет привязывать сессии через cookie, Gwin — через cookie, заголовки или IP

Проверка сертификата бэкенда

proxy-ssl-secret
proxy-ssl-verify
proxy-ssl-verify-depth
proxy-ssl-ciphers
proxy-ssl-name
proxy-ssl-protocols

rules.backends.tls.sni
rules.backends.tls.trustedCA.id
rules.backends.tls.trustedCA.bytes

В NGINX проверка сертификата настраивается через SSL, в Gwin — через TLS

Таймауты соединений

proxy-connect-timeout
proxy-send-timeout
proxy-read-timeout
proxy-next-upstream
proxy-next-upstream-timeout
proxy-next-upstream-tries
proxy-request-buffering

rules.timeout
rules.idleTimeout

В Gwin задается общее время ожидания ответа от бэкенда и таймаут бездействия

Ограничение скорости

global-rate-limit
global-rate-limit-window
global-rate-limit-key
global-rate-limit-ignored-cidrs

hosts.rateLimit.allRequests.perSecond
hosts.rateLimit.allRequests.perMinute
hosts.rateLimit.requestsPerIP.perSecond
hosts.rateLimit.requestsPerIP.perMinute

Задают максимальное количество запросов, которое можно отправить за промежуток времени

Логирование

enable-access-log

logs.logGroupID
logs.logs.disable
logs.discardRule.{name}.httpCodes
logs.discardRule.{name}.httpCodeIntervals
logs.discardRule.{name}.grpcCodes
logs.discardRule.{name}.discardPercent

Включает логирование.

В Gwin также можно настроить параметры логирования

Прочее

custom-http-errors

directResponse.{name}.responseCode
directResponse.{name}.responseBody.text

Задает код ошибки и текст ответа

proxy-http-version

rules.backends.http.useHTTP2

Определяет версию HTTP для взаимодействия с бэкендом

limit-rps

hosts.rateLimit.requestsPerIP.perSecond

Задает количество запросов с одного IP в секунду

proxy-cookie-domain
proxy-cookie-path

rules.modifyResponseHeaders.append.{header-name}
rules.modifyResponseHeaders.rename.{old-header-name}
rules.modifyResponseHeaders.replace.{header-name}
rules.modifyResponseHeaders.remove

Задают заголовки ответа

load-balance

rules.backends.balancing.mode

Задает алгоритм балансировки нагрузки

Переключите нагрузку на контроллер GwinПереключите нагрузку на контроллер Gwin

Создайте новые ресурсы в кластереСоздайте новые ресурсы в кластере

  1. Примените обновленные YAML-манифесты с помощью команды kubectl apply -f <YAML_файл_или_папка>.

    В результате будет создан новый балансировщик нагрузки без удаления существующего.

  2. Убедитесь, что все ресурсы созданы успешно. Для этого проверьте статус ресурсов командой kubectl get.

Проверьте корректность балансировки нагрузкиПроверьте корректность балансировки нагрузки

Протестируйте новый балансировщик нагрузки, чтобы убедиться в его корректной работе:

  1. Получите IP-адрес нового балансировщика нагрузки:
    • Запросите статус ресурса Ingress командой kubectl get Ingress.
    • В консоли управления:
      • Перейдите на страницу кластера Managed Service for Kubernetes.
      • На панели слева выберите Сеть.
      • Перейдите на вкладку Ingress.
  2. Убедитесь, что маршрутизация работает, как ожидается. Для этого протестируйте доступность HTTP/HTTPS-эндпоинтов вашего приложения.
  3. Убедитесь, что проверки статуса бэкендов показывают их работоспособность.
  4. Проверьте наличие ошибок в логах и наличие признаков проблем с производительностью в метриках балансировщика.

Перенаправьте трафик на новый балансировщик нагрузкиПеренаправьте трафик на новый балансировщик нагрузки

  1. Обновите DNS-записи ваших доменов на IP-адрес нового балансировщика нагрузки для перенаправления трафика.
  2. Следите за метриками приложения во время переключения трафика.
  3. Убедитесь, что функциональность приложения полностью доступна после перенаправления трафика.

Удалите ненужные ресурсыУдалите ненужные ресурсы

  1. Удалите старые ресурсы Ingress NGINX — оригинальные Ingress-контроллеры, группы бэкендов и т. д.
  2. Удалите неиспользуемые балансировщики нагрузки или сертификаты.

Была ли статья полезна?

Предыдущая
Миграция приложений с ALB Ingress-контроллера на Gwin
Следующая
Gateway
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»