Перейти к основному содержимому

Ingress и Ingress Controller

Ingress — объект Kubernetes, который определяет правила маршрутизации внешнего трафика, балансировки нагрузки и SSL-терминации. Ingress Controller представляет собой прокси-сервер в кластере Managed Kubernetes и маршрутизирует трафик на основе правил, которые определены в Ingress.

В Managed Kubernetes Ingress Controller не предустанавливается в кластер, его необходимо установить самостоятельно. Выбор контроллера зависит от требований приложений, размещенных в кластере Managed Kubernetes. Cписок возможных контроллеров можно посмотреть в инструкции Ingress Controllers документации Kubernetes.

Мы рассмотрим установку базового NGINX Ingress Controller через панель управления и с помощью Helm-чарта.

Установить NGINX Ingress Controller

Для работы приложения будет создан балансировщик нагрузки типа Базовый с резервированием и публичный IP-адрес. В созданном балансировщике нельзя изменить тип. Если вы хотите поменять тип балансировщика или его параметры, установите приложение с помощью Helm-чарта.

  1. Убедитесь, что в пуле выделена квота минимум на один публичный IP-адрес.
  2. В панели управления в верхнем меню нажмите Продукты и выберите Managed Kubernetes.
  3. Откройте страницу кластера → вкладка Приложения.
  4. В блоке Доступны к установке нажмите NGINX Ingress Controller.
  5. Проверьте цену балансировщика нагрузки и публичного IP-адреса.
  6. Нажмите Установить. Будет создан новый балансировщик нагрузки типа Базовый с резервированием с публичным IP-адресом. Балансировщик нагрузки появится в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → раздел Балансировщики → вкладка Балансировщики.

Создать Ingress

Пример манифеста:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80