Установка ALB контроллера в Marketplace k8s и через Helm
Application Load Balancer (ALB) Ingress Controller использует сервис Yandex Application Load Balancer для балансировки нагрузки и распределения трафика между приложениями Kubernetes.
В сервисе Managed Service for Kubernetes ALB Ingress Controller запускает Yandex Application Load Balancer и необходимые вспомогательные ресурсы, когда пользователь Kubernetes объявляет ресурс Ingress в кластере.
Для установки необходимо создать SA с необходимыми правами и создать авторизованный ключ для него.
Минимальные права SA для запуска:
alb.editor
— для создания необходимых ресурсов.vpc.publicAdmin
— для управления внешней связностью.certificate-manager.certificates.downloader
— для работы с сертификатами, зарегистрированными в сервисе Yandex Certificate Manager.compute.viewer
— для использования узлов кластера Managed Service for Kubernetes в целевых группах балансировщика.
Я создал SA и ключи доступа ранее: https://teletype.in/@cameda/w93lPMPQWS4
Создание кластера k8s: https://teletype.in/@cameda/3BqWWeOkRZ0
Для создания нам необходимо указать:
После того как статус приложения станет Running будет добавлен новый сервис Application Load Balancer. В котором будут настроены целевые группы.
Для дальнейшей корректной работы балансировщика потребуется установить Deployment, Service, Ingress. Их спецификации рассмотрим в другом мануале.
Установка с помощью Helm чарта.
export FOLDER=$(yc config get folder-id) export CLUSTER=<YOUR_CLUSTER_ID> export HELM_EXPERIMENTAL_OCI=1 && \ cat /Users/cameda/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 v0.1.24 \ --untar && \ helm install \ --namespace default \ --set folderId=$FOLDER \ --set clusterId=$CLUSTER \ --set-file saKeySecretKey=/Users/cameda/practicum/key.json \ yc-alb-ingress-controller ./yc-alb-ingress-controller-chart/
Полезные ссылки.
Спецификация ingress: https://teletype.in/@cameda/NGvCl3lZrgB