Gateway Classes

GatewayClass — класс доступных Gateways описывает какой контроллер будет обрабатывать Gateways. Каждый GatewayClass может реализовывать один контроллер (например, Nginx, Envoy, Istio).

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

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

На странице Gateway Classes отображается список ресурсов GatewayClass со сведениями:

Колонка Описание
Имя Имя созданного вручную или автоматически GatewayClass. GatewayClass могут быть созданы автоматически при развертывании контроллера Gateway API
Контроллер Значение spec.controllerName
Дата создания Дата и время создания; сортировка
Состояние Conditions GatewayClass (например, Accepted)
Gateways Количество Gateway, связанных с GatewayClass
Лейблы Лейблы GatewayClass
Скриншот: список Gateway Classes

Список классов


Создание Gateway Class

Для добавления нового ресурса нажмите + Добавить Gateway Class. На открывшейся странице заполните:

  • Имя GatewayClass.
  • Лейблы и Аннотации при необходимости.

В блоке Спецификация объекта:

  • Имя контроллера (spec.controllerName) — например, istio.io/gateway-controller, io.cilium/gateway-controller.
  • Описание GatewayClass при необходимости — подробная информация с описанием GatewayClass;
  • Параметры конфигурации контроллера — дополнительные настройки контроллера Gateway API. Можно добавить одну ссылку на ресурс с параметрами конфигурации. Нажмите + и заполните поля.
Поля для ссылки на ресурс с параметрами конфигурации
Поле Обязательность Описание
Имя ресурса Да Имя ресурса с конфигурацией
Kind Да Kind ресурса с конфигурацией, обычно ConfigMap. Может использоваться Kind ресурса специфичный для конкретной реализации контроллера, например, EnvoyProxy
API-группа Да API-группа ресурса
Неймспейс Нет Неймспейс ресурса (для неймспейсных объектов)

Нажмите Сохранить, чтобы создать GatewayClass.


Просмотр и редактирование

Нажмите на строку GatewayClass в списке. Страница содержит вкладки:

  1. Gateway Class — отображается статус состояния GatewayClass с цветовой индикацией. Нажатие на состояние открывает боковое окно с дополнительной информацией. Имя контроллера недоступно для редактирования. При необходимости вы можете обновить описание и настройку параметров конфигурации контролера.

  2. Gateways — отображает список Gateway, использующих этот GatewayClass. Нажатие на строку Gateway открывает страницу просмотра Gateway.

  3. Лейблы и аннотации.

  4. Манифест созданного GatewayClass. Пример:

apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
  name: cilium
spec:
  controllerName: io.cilium/gateway-controller
  description: The default Cilium GatewayClass
Скриншот: просмотр GatewayClass

Просмотр класса


Удаление

GatewayClass можно удалить при наличии связанных Gateway. При удалении отобразится предупреждение: GatewayClass используется Gateways.

Удалить GatewayClass вы можете из списка на странице Gateway Classes или со страницы просмотра.

Удаление GatewayClass может повлиять на связанные и запущенные Gateways.

Связанные разделы