Настройка Gateway
Входящий шлюз (Gateway) — это экземпляр, развернутый из Gateway Class. Он создает слушатели для перехвата внешнего трафика на указанных доменных именах и портах. Вместе с правилами маршрутизации он может направлять указанный внешний трафик на соответствующие backend-экземпляры.
Создайте входящий шлюз для более точного распределения сетевых ресурсов.
Содержание
Терминология
Предварительные требования
Администратор платформы должен убедиться, что кластер поддерживает внутреннюю маршрутизацию типа LoadBalancer. Для публичных облачных кластеров должен быть установлен LoadBalancer Service Controller. В непубличных облачных кластерах платформа предоставляет функцию пула внешних адресов, которая позволяет внутренней маршрутизации типа LoadBalancer автоматически получать IP из пула внешних адресов для внешнего доступа после завершения настройки.
Пример Gateway и пользовательского ресурса Alb2 (CR)
- См. описание Gateway Class ниже.
- Имя
alb2формируется как{gatewayName}-{random}. - Имя
gateway.
Создание Gateway через веб-консоль
-
Перейдите в Container Platform.
-
В левой навигационной панели выберите Network > Inbound Gateway.
-
Нажмите Create Inbound Gateway.
-
Следуйте инструкциям для настройки конкретных параметров.
-
Нажмите Create.
Создание Gateway через CLI
Просмотр ресурсов, созданных платформой
После создания входящего шлюза платформа автоматически создает множество ресурсов. Не удаляйте перечисленные ниже ресурсы.
Обновление Gateway
Обновление входящего шлюза приведет к прерыванию сервиса на 3-5 минут. Пожалуйста, выбирайте подходящее время для выполнения этой операции.
Обновление Gateway через веб-консоль
-
Зайдите в Container Platform.
-
В левой навигационной панели выберите Network > Inbound Gateway.
-
Нажмите ⋮ > Update.
-
Обновите конфигурацию входящего шлюза по необходимости.
Примечание: Пожалуйста, разумно задавайте спецификации в соответствии с бизнес-требованиями.
-
Нажмите Update.
Добавление слушателя
Отслеживает трафик по указанным доменным именам и перенаправляет его на backend-экземпляры согласно привязанным правилам маршрутизации.
Предварительные требования
-
Если необходимо отслеживать протокол HTTP, заранее свяжитесь с администратором для подготовки доменного имени.
-
Если необходимо отслеживать протокол HTTPS, заранее свяжитесь с администратором для подготовки доменного имени и сертификата.
Добавление слушателя через веб-консоль
-
В левой навигационной панели выберите Network > Inbound Gateway.
-
Нажмите на Имя входящего шлюза.
-
Нажмите Add Listener.
-
Следуйте инструкциям для настройки конкретных параметров.
-
Нажмите Create.
Добавление слушателя через CLI
Создание правил маршрутизации
Правила маршрутизации задают политики маршрутизации для входящего трафика, аналогично входящим правилам (Kubernetes Ingress). Они обеспечивают доступ к сетевому трафику, отслеживаемому шлюзом, для внутренней маршрутизации кластера (Kubernetes Service), облегчая стратегию маршрутизации и переадресации. Главное отличие в том, что они нацелены на разные объекты сервиса: входящие правила обслуживают Ingress Controller, а правила маршрутизации — Ingress Gateway.
После настройки прослушивания в ingress gateway шлюз будет в реальном времени отслеживать трафик с указанных доменов и портов. Правила маршрутизации могут направлять входящий трафик на backend-экземпляры по желанию.
Пример пользовательского ресурса HTTPRoute (CR)
- Доступные типы:
HTTPRoute,TCPRoute,UDPRoute. - Имя слушателя
Gateway.
Если для объекта Path в правиле маршрутизации типа HTTPRoute нет совпадающего правила, автоматически добавляется правило с режимом PathPrefix и значением /.
Создание маршрута через веб-консоль
-
Зайдите в Container Platform.
-
В левой навигационной панели выберите Network > Route Rules.
-
Нажмите Create Route Rule.
-
Следуйте инструкциям для настройки параметров.
-
Нажмите Create.