Ingress-контроллер для Managed Service for Kubernetes
Application Load Balancer предоставляет инструмент для создания и управления балансировщиками нагрузки в кластерах Yandex Managed Service for Kubernetes — Ingress-контроллер Application Load Balancer.
После установки контроллера вы сможете создать с его помощью ресурс Ingress, отвечающий за прием входящего трафика. По конфигурации Ingress
будет автоматически развернут L7-балансировщик со всеми необходимыми ресурсами Application Load Balancer.
Пример конфигурации
Ниже приведен сокращенный пример конфигурации ресурса Ingress
. По ней будет создан балансировщик, принимающий HTTPS-трафик и распределяющий его по двум сервисам в зависимости от пути в URI запроса.
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: alb-demo-tls
spec:
tls:
- hosts:
- <доменное имя>
secretName: yc-certmgr-cert-id-<идентификатор сертификата из Certificate Manager>
rules:
- host: <доменное имя>
http:
paths:
- path: /app1
pathType: Prefix
backend:
service:
name: alb-demo-1
port:
number: 80
- path: /app2
pathType: Prefix
backend:
service:
name: alb-demo-2
port:
number: 80
- pathType: Prefix
path: "/"
backend:
service:
name: alb-demo-2
port:
name: http
Установка и требования
Ingress-контроллер Application Load Balancer поставляется в виде Helm-чарта. Для его установки требуются:
- Менеджер пакетов Helm версии не ниже 3.7.0 с включенной поддержкой OCI.
- Кластер Managed Service for Kubernetes с версией Kubernetes не ниже 1.19.
- Группа узлов в кластере с версией Kubernetes не ниже 1.19.
- Пространство имен в кластере для хранения ключа сервисного аккаунта.
Чарт скачивается и устанавливается с помощью следующих команд:
export HELM_EXPERIMENTAL_OCI=1
helm pull \
--version v0.1.0 \
oci://cr.yandex/yc/yc-alb-ingress-controller-chart
helm install \
--namespace <имя пространства имен> \
--set folderId=<идентификатор каталога> \
--set clusterId=<идентификатор кластера> \
--set-file saKeySecretKey=<путь к файлу с ключом сервисного аккаунта> \
yc-alb-ingress-controller ./yc-alb-ingress-controller-chart-0.1.0.tgz
Подробнее см. в полной инструкции по установке.
См. также
- Принципы работы контроллера.
- Настройка групп безопасности для кластера Kubernetes и балансировщика.
- Сервисный аккаунт для работы контроллера.