Развертывание Ingress Gateway

Содержание

Введение

Развертывание Ingress Gateway обеспечивает безопасный внешний доступ к ресурсам service mesh за счёт:

  • Предоставления выделенных точек входа для север-юг трафика
  • Поддержки гибких методов экспонирования (LoadBalancer/NodePort)
  • Включения протокольно-специфичных конфигураций слушателей
  • Изоляции компонентов gateway от control plane

Основная ценность: безопасное и масштабируемое управление входящим трафиком

Особенности

  • Поддержка слушателей с несколькими протоколами (HTTP/HTTPS/TCP)
  • Режимы развертывания: общий/выделенный gateway
  • Интеграция с балансировщиками нагрузки облачных провайдеров (AWS ELB, MetalLB и др.)
  • Резервный вариант NodePort для bare-metal окружений

Развертывание Gateway через LoadBalancer

Шаг 1: Инициация развертывания

  1. Перейдите: Service Mesh > Gateway
  2. Выберите целевой кластер
  3. Нажмите Deploy Gateway
ПараметрТребованиеОписание
Gateway NameОбязательноСоответствие DNS-1123
NamespaceОбязательноNamespace вне control plane
Service TypeАвтоустановкаLoadBalancer

Шаг 2: Конфигурация протоколов

ports:
- protocol: HTTPS
  port: 443
- protocol: TCP
  port: 3306
ПараметрОграничения
ProtocolHTTP/HTTPS/TCP
Port Range1-65535

Шаг 3: Интеграция с облаком

Для Huawei Cloud ELB:

  • Укажите ELB ID и тип
    Для MetalLB:
  • Проверьте доступные IP в Network Management > External Address Pool

Развертывание Gateway через NodePort

Шаг 1: Настройка NodePort

  1. Установите Service Type в NodePort
  2. Определите node порты:
ПротоколNodePortОграничение
HTTP30080Уникально в кластере
HTTPS30443Без конфликтов

Шаг 2: Настройка внешнего прокси

Рекомендуемая архитектура:

Client → F5/HAProxy → NodeIP:NodePort → Ingress Gateway

Проверка

  1. Откройте страницу с деталями gateway

  2. Убедитесь, что статус: Running

  3. Проверьте доступность эндпоинта:

    curl -I http://<EXTERNAL-IP>:<PORT>/healthz

Операционные заметки

  • Общие gateways видны всем проектам кластера
  • Выделенные gateways требуют изоляции по проектам
  • TLS termination требует отдельной настройки сертификатов
  • Избегайте конфликтов портов с существующими сервисами