Установить Gateway API Application Load Balancer для Managed Service for Kubernetes
Gateway APIGatewayClass
, Gateway
, HTTPRoute
и другие.
В сервисе Managed Service for Kubernetes Gateway API запускает Yandex Application Load Balancer и необходимые вспомогательные ресурсы, когда пользователь Kubernetes объявляет ресурс Gateway
в кластере Managed Service for Kubernetes.
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Создайте сервисный аккаунт, необходимый для работы Gateway API.
-
Назначьте сервисному аккаунту роли:
alb.editor
— для создания необходимых ресурсов.vpc.publicAdmin
— для управления внешней связностью.certificate-manager.admin
— для работы с сертификатами, зарегистрированными в сервисе Yandex Certificate Manager.compute.viewer
— для использования узлов кластера Managed Service for Kubernetes в целевых группах балансировщика.
-
Создайте для сервисного аккаунта авторизованный ключ и сохраните ключ в файл
sa-key.json
:yc iam key create \ --service-account-name <имя_сервисного_аккаунта_для_Gateway_API> \ --output sa-key.json
-
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
- Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку
Marketplace. - В разделе Доступные для установки приложения выберите Gateway API и нажмите кнопку Перейти к установке.
- Задайте настройки приложения:
- Пространство имен — выберите пространство имен или создайте новое.
- Название приложения — укажите название приложения.
- Идентификатор каталога — выберите каталог, в котором нужно создавать балансировщики.
- Идентификатор сети — выберите облачную сеть, в которой нужно располагать балансировщики.
- Идентификатор подсети 1, Идентификатор подсети 2, Идентификатор подсети 3 — выберите подсети, в которых нужно располагать балансировщики.
- Ключ сервисного аккаунта — вставьте содержимое файла
sa-key.json
или создайте новый ключ сервисного аккаунта.
- Нажмите кнопку Установить.
- Дождитесь перехода приложения в статус
Deployed
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Установите kubectl
и настройте его на работу с созданным кластером. -
Для установки Helm-чарта
с Gateway API выполните команду:helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/gateway-api/gateway-api-helm/gateway-api \ --version 0.4.31 \ --untar && \ helm install \ --namespace <пространство_имен> \ --create-namespace \ --set folderId='<идентификатор_каталога>' \ --set networkId='<идентификатор_облачной_сети>' \ --set subnet1Id='<идентификатор_подсети_1>' \ --set subnet2Id='<идентификатор_подсети_2>' \ --set subnet3Id='<идентификатор_подсети_3>' \ --set-file saKeySecretKey='<путь_к_файлу_sa-key.json>' \ gateway-api ./gateway-api/
В команде укажите сеть и ее подсети, в которых нужно располагать балансировщики.
Примечание
Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку
export HELM_EXPERIMENTAL_OCI=1 && \
, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.
Примеры использования
См. также
- Описание проекта Gateway API
. - Описание и конфигурация Gateway API в документации Application Load Balancer.