Установка Ingress-контроллера Application Load Balancer
Для балансировки нагрузки и распределения трафика между приложениями Kubernetes используйте Ingress-контроллер Yandex Application Load Balancer. Он запускает балансировщик и необходимые вспомогательные ресурсы, когда пользователь создает ресурс Ingress
в кластере Managed Service for Kubernetes.
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Создайте сервисный аккаунт, необходимый для работы Ingress-контроллера, и назначьте ему роли:
alb.editor
— для создания необходимых ресурсов.vpc.publicAdmin
— для управления внешней связностью.certificate-manager.certificates.downloader
— для работы с сертификатами, зарегистрированными в сервисе Yandex Certificate Manager.compute.viewer
— для использования узлов кластера Managed Service for Kubernetes в целевых группах балансировщика.
-
Создайте статический ключ доступа для сервисного аккаунта в формате JSON и сохраните его в файл
sa-key.json
:yc iam key create \ --service-account-name <имя сервисного аккаунта для Ingress-контроллера> \ --format=json > sa-key.json
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
- Нажмите на имя нужного кластера и выберите вкладку Marketplace.
- В разделе Доступные для установки приложения выберите ALB Ingress Controller и нажмите кнопку Использовать.
- Задайте настройки приложения:
- Пространство имен — выберите пространство имен или создайте новое.
- Название приложения — укажите название приложения.
- Идентификатор каталога — укажите идентификатор каталога.
- Идентификатор кластера — укажите идентификатор кластера.
- Secret Key — вставьте содержимое файла
sa-key.json
.
- Нажмите кнопку Установить.
Установка с помощью Helm-чарта
Перед началом работы
-
Установите менеджер пакетов Helm версии не ниже 3.7.0.
-
Установите kubectl и настройте его на работу с созданным кластером.
-
Установите утилиту
jq
для потоковой обработки JSON-файлов:sudo apt update && sudo apt install jq
Установка с помощью Helm-чарта
-
Для установки Helm-чарта с Ingress-контроллером выполните команды:
export HELM_EXPERIMENTAL_OCI=1 && \ cat sa-key.json | helm registry login cr.yandex --username 'json_key' --password-stdin && \ helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/yc-alb-ingress/yc-alb-ingress-controller-chart \ --version <версия Helm-чарта> \ --untar && \ helm install \ --namespace <пространство имен> \ --create-namespace \ --set folderId=<идентификатор каталога> \ --set clusterId=<идентификатор кластера> \ --set-file saKeySecretKey=sa-key.json \ yc-alb-ingress-controller ./yc-alb-ingress-controller-chart/
Актуальную версию Helm-чарта можно посмотреть на странице приложения.