Приложения Managed Kubernetes
В кластере Managed Kubernetes можно использовать приложения, которые расширяют функциональность Kubernetes — например, приложения, которые помогают управлять трафиком или собирать и обрабатывать логи.
Устанавливать и удалять приложения можно с помощью Helm и через панель управления. Сейчас через панель управления можно установить и удалить только приложение NGINX Ingress Controller.
Приложение NGINX Ingress Controller
NGINX Ingress Controller — Ingress-контроллер для NGINX, который обеспечивает маршрутизацию входящего трафика на уровне приложения (L7). Он маршрутизирует трафик на основе правил, определенных в Ingress. Подробнее о NGINX Ingress Controller в документации NGINX Ingress Controller.
Приложение NGINX Ingress Controller можно установить и удалить через панель управления и с помощью Helm-чарта.
Установить NGINX Ingress Controller
Панель управления
Helm
Для работы приложения будет создан балансировщик нагрузки типа Базовый с резервированием и публичный IP-адрес. В созданном балансировщике нельзя изменить тип. Если вы хотите поменять тип балансировщика или его параметры, установите приложение с помощью Helm-чарта.
- Убедитесь, что в пуле выделена квота минимум на один публичный IP-адрес.
- В панели управления в верхнем меню нажмите Продукты и выберите Managed Kubernetes.
- Откройте страницу кластера → вкладка Приложения.
- В блоке Доступны к установке нажмите NGINX Ingress Controller.
- Проверьте цену балансировщика нагрузки и публичного IP-адреса.
- Нажмите Установить. Будет создан новый балансировщик нагрузки типа Базовый с резервированием с публичным IP-адресом. Балансировщик нагрузки появится в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → раздел Балансировщики → вкладка Балансировщики.
Вместе с Ingress Controller будет автоматически создан балансировщик нагрузки с публичным IP-адресом. По умолчанию создается балансировщик нагрузки типа Базовый с резервированием, но вы можете выбрат ь тип балансировщика нагрузки и настроить для него другие параметры — подробнее о параметрах балансировщика нагрузки в инструкции Настроить балансировщик нагрузки. Балансировщик будет входной точкой для доступа к приложениям в кластере, поэтому дополнительно создавать внутренний балансировщик нагрузки не нужно.
Без настройки балансировщика нагрузки
С настройкой балансировщика нагрузки
-
Убедитесь, что в пуле выделена квота минимум на один публичный IP-адрес.
-
Добавьте репозиторий
ingress-nginx
в Helm:helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
-
Установите Ingress Controller:
helm install ingress-nginx/ingress-nginx --generate-name
-
Проверьте, что Ingress Controller установлен:
kubectl get pods
В ответе появится информация об Ingress Controller:
NAME READY STATUS RESTARTS AGE
ingress-nginx-1652172027-controller-6d765d1688-vr7ab 1/1 Running 0 51sБудет создан новый балансировщик нагрузки. Он появится в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → раздел Балансировщики → вкладка Балансировщики.
-
Убедитесь, что в пуле выделена квота минимум на один публичный IP-адрес.
-
Добавьте репозиторий
ingress-nginx
в Helm:helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
-
Получите значения по умолчанию и сохраните их в файл
values.yaml
:helm inspect values ingress-nginx/ingress-nginx > values.yaml
-
В блок
annotations
файлаvalues.yaml
добавьте необходимые параметры для балансировщика — подробнее о параметрах балансировщика нагрузки в инструкции Настроить балансировщик нагрузки.
Фрагмент манифеста с блоком annotations
:
metadata:
name: loadbalancer-name
labels:
app: nginx
annotations:
service.beta.kubernetes.io/openstack-internal-load-balancer: "true"
-
Сохраните изменения.
-
Установите Ingress Controller:
helm install ingress-nginx/ingress-nginx --generate-name -f values.yaml
-
Проверьте, что Ingress Controller установлен:
kubectl get pods
В ответе появится информация об Ingress Controller:
NAME READY STATUS RESTARTS AGE
ingress-nginx-1652172027-controller-6d765d1688-vr7ab 1/1 Running 0 51sБудет создан новый балансировщик нагрузки. Он появится в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → раздел Балансировщики → вкладка Балансировщики.
Удалить NGINX Ingress Controller
Панель управления
Helm
- В панели управления в верхнем меню нажмите Продукты и выберите Managed Kubernetes.
- Откройте страницу кластера → вкладка Приложения.
- В блоке Установленные приложения в меню приложения выберите Удалить.
-
Удалите приложение:
helm uninstall <application_name>
Укажите
<application_name>
— имя приложения.