Gateway API

Модель маршрутизации трафика как альтернатива Ingress.

Начиная с релиза 2.14, в платформе «Штурвал» доступно управление объектами Gateway API в GUI. Это помогает подготовиться к переходу с Nginx Ingress Controller на Gateway API и упростить настройку маршрутизации для разных реализаций Service Mesh (Istio, Cilium и др.).

Gateway API и ролевая модель:

Объект Уровень Кто настраивает Назначение
GatewayClass Кластер Поставщик инфраструктуры Тип контроллера и параметры реализации
Gateway Кластер Оператор кластера Точка входа: адреса, обработчики (listeners), TLS
Маршруты (HTTPRoute, GRPCRoute) Неймспейс Разработчик / владелец приложения Прикладная маршрутизация к backend-сервисам

Где настраивать в GUI:

  • Gateway Classes и Gateways: кластер → раздел Сети;
  • Маршруты: кластер → неймспейс → раздел СетиМаршруты.
  • Через кастомные ресурсы: кластер → раздел АдминистрированиеКастомные ресурсы → API-группа gateway.networking.k8s.io.

Подробнее о преимуществах Gateway API и стратегии миграции с Ingress см. Ingress NGINX умер, да здравствует Gateway API.


Поставка Gateway API в кластер

Для работы с ресурсами Gateway API в кластере должны быть установлены CRDs Gateway API. В платформе «Штурвал» для этого предусмотрен CRD модуля Gateway API (shturval-gateway-api-crds).

Установить в GUI развернутого кластера: кластер → Сервисы и репозиторииДоступные чартыshturval-gateway-api-crdsУстановить. Создайте и выберите неймспейс gateway-systems. Подробнее — CRD модуля Gateway API и Как развернуть новый сервис.

Установить при создании кластера: в мастере установки на шаге «Выбор системных сервисов» включите группу Балансировщик нагрузки — в неё входит shturval-gateway-api-crds.

После успешного развертывания CRD модуля Gateway API в GUI будут доступны соответствующие разделы интерфейса.


Контроллер Gateway API

CRDs, поставляемые в кластер, не обрабатывают трафик — для маршрутизации нужен контроллер, связанный с GatewayClass.

Перед включением контроллера Gateway API в кластере убедитесь в совместимости его версии с CRD в кластере. В платформе «Штурвал» чарт shturval-gateway-api-crds поставляет CRD Gateway API версии 1.4.1. Контроллер должен поддерживать эту версию спецификации.

В платформе «Штурвал» контроллер Gateway API на базе Cilium включается через применение ShturvalServicePatch с параметром gatewayAPI.enabled: true для Модуля управления сетями кластера (shturval-networking) — Как включить контроллер Gateway API в Cilium. Для выделения адресов Gateway также потребуется создать пул IP-адресов CiliumLoadBalancerIPPool.