Развертывание ALB
Содержание
ALBПредварительные требованияКонфигурация ALBКонфигурация ресурсовКонфигурация сетиКонфигурация проектаНастройка параметровОперации с ALBСозданиеОбновлениеУдалениеПорты слушателя (Frontend)Предварительные требованияКонфигурация FrontendОперации с FrontendСозданиеПоследующие действияСвязанные операцииЛоги и мониторингПросмотр логовМетрики мониторингаALB
ALB — это кастомный ресурс, представляющий балансировщик нагрузки. alb-operator, который по умолчанию встроен во все кластеры, отслеживает операции создания/обновления/удаления ресурсов ALB и в ответ создает соответствующие Deployment и Service.
Для каждого ALB создаётся соответствующий Deployment, который отслеживает все Frontend и Rule, прикрепленные к этому ALB, и маршрутизирует запросы к backend на основе этих конфигураций.
Предварительные требования
Высокая доступность Load Balancer требует VIP. Пожалуйста, обратитесь к разделу Настройка VIP.
Конфигурация ALB
Конфигурация ALB состоит из трёх частей.
Конфигурация ресурсов
Поля, связанные с ресурсами, описывают конфигурацию развертывания alb.
Конфигурация сети
Поля, связанные с сетью, описывают способ доступа к ALB. Например, в режиме host alb использует hostnetwork, и доступ к ALB осуществляется по IP узла.
Конфигурация проекта
Добавление ALB в проект означает:
- В веб-интерфейсе только пользователи данного проекта могут найти и настроить этот ALB.
- Этот ALB будет обрабатывать ingress-ресурсы, принадлежащие этому проекту. Пожалуйста, обратитесь к ingress-sync.
- В веб-интерфейсе правила, созданные в проекте X, не будут доступны для просмотра или настройки в проекте Y.
Если вы включаете порт-проект и назначаете диапазон портов проекту, это означает:
- Вы не можете создавать порты, не входящие в назначенный проекту диапазон портов.
Настройка параметров
В alb CR есть некоторые глобальные настройки, которые можно изменить.
Операции с ALB
Создание
Через веб-консоль
Некоторые общие настройки доступны в веб-интерфейсе. Следуйте этим шагам для создания балансировщика нагрузки:
- Перейдите в раздел Administrator.
- В левой боковой панели нажмите Network Management > Load Balancer.
- Нажмите Create Load Balancer.
Каждое поле ввода в веб-интерфейсе соответствует полю CR:
Через CLI
Обновление
Через веб-консоль
Обновление балансировщика нагрузки приведёт к прерыванию сервиса на 3–5 минут. Пожалуйста, выбирайте подходящее время для этой операции!
-
Войдите в Administrator.
-
В левой навигационной панели нажмите Network Management > Load Balancer.
-
Нажмите ⋮ > Update.
-
Обновите конфигурацию сети и ресурсов по необходимости.
-
Пожалуйста, устанавливайте спецификации разумно в соответствии с бизнес-требованиями. Также можно обратиться к соответствующему руководству Как правильно выделять CPU и память.
-
Внутренний роутинг поддерживает только обновление из состояния Disabled в Enabled.
-
-
Нажмите Update.
Удаление
Через веб-консоль
После удаления балансировщика нагрузки связанные порты и правила также будут удалены и не подлежат восстановлению.
-
Войдите в Administrator.
-
В левой навигационной панели нажмите Network Management > Load Balancer.
-
Нажмите ⋮ > Delete и подтвердите.
Через CLI
Порты слушателя (Frontend)
Frontend — это кастомный ресурс, который определяет порт слушателя и протокол для ALB. Поддерживаемые протоколы: L7 (http|https|grpc|grpcs) и L4 (tcp|udp). В L4 Proxy frontend используется для прямой настройки backend-сервиса. В L7 Proxy frontend настраивает порты слушателя, а backend-сервис настраивается через rule. Если необходимо добавить HTTPS-порт слушателя, следует также обратиться к администратору для назначения TLS-сертификата текущему проекту для шифрования.
Предварительные требования
Сначала создайте ALB.
Конфигурация Frontend
-
alb label: Обязательно, указывает экземпляр ALB, к которому принадлежит этот
Frontend. -
имя frontend: Формат
$alb_name-$port. -
port: порт, на котором слушает.
-
protocol: протокол, используемый на этом порту.
- L7 протоколы https|http|grpcs|grpc и L4 протоколы tcp|udp.
- При выборе HTTPS обязательно должен быть добавлен сертификат; для протокола gRPC добавление сертификата необязательно.
- При выборе протокола gRPC backendProtocol по умолчанию gRPC, который не поддерживает сохранение сессии. Если для gRPC установлен сертификат, балансировщик нагрузки снимет сертификат gRPC и перенаправит незашифрованный трафик gRPC на backend-сервис.
- В кластере Google GKE балансировщик нагрузки одного типа контейнерной сети не может одновременно иметь протоколы слушателя TCP и UDP.
-
certificate_name: для протоколов grpcs и https, указывает используемый сертификат по формату
$secret_ns/$secret_name. -
backendProtocol: протокол, используемый backend-сервисом.
-
По умолчанию
serviceGroup:- L4 proxy: обязательно. ALB напрямую перенаправляет трафик в группу сервисов по умолчанию.
- L7 proxy: необязательно. ALB сначала сопоставляет правила на этом Frontend; если совпадений нет, используется группа сервисов по умолчанию.
Операции с Frontend
Создание
Через веб-консоль

-
Перейдите в Container Platform.
-
В левой навигационной панели нажмите Network > Load Balancing.
-
Нажмите на имя балансировщика нагрузки, чтобы перейти на страницу деталей.
-
Нажмите Add Port.
Каждое поле ввода в веб-интерфейсе соответствует полю CR
Через CLI
Последующие действия
Для трафика с портов HTTP, gRPC и HTTPS, помимо группы внутреннего роутинга по умолчанию, можно задать более разнообразные правила сопоставления backend-сервисов rules. Балансировщик нагрузки сначала сопоставит соответствующий backend-сервис согласно заданным правилам; если совпадений не будет, он сопоставит backend-сервисы, соответствующие упомянутой группе внутреннего роутинга.
Связанные операции
Вы можете нажать на значок ⋮ справа на странице списка или нажать Actions в правом верхнем углу страницы деталей, чтобы при необходимости обновить маршрут по умолчанию или удалить порт слушателя.
Если метод выделения ресурсов балансировщика нагрузки — Port, только администраторы могут удалять связанные порты слушателя в представлении Administrator.
Логи и мониторинг
Сочетая логи и данные мониторинга, вы можете быстро выявлять и устранять проблемы с балансировщиком нагрузки.
Просмотр логов
-
Перейдите в Administrator.
-
В левой навигационной панели нажмите Network Management > Load Balancer.
-
Нажмите на Имя Load Balancer.
-
Во вкладке Logs просмотрите логи работы балансировщика нагрузки с точки зрения контейнера.
Метрики мониторинга
В кластере, где расположен балансировщик нагрузки, должны быть развернуты сервисы мониторинга.
-
Перейдите в Administrator.
-
В левой навигационной панели нажмите Network Management > Load Balancer.
-
Нажмите на Имя Load Balancer.
-
Во вкладке Monitoring просмотрите информацию о тенденциях метрик балансировщика нагрузки с точки зрения узла.
-
Usage Rate: текущая загрузка CPU и памяти балансировщика нагрузки на данном узле.
-
Throughput: общий входящий и исходящий трафик экземпляра балансировщика нагрузки.
-
Для более подробной информации о метриках мониторинга смотрите ALB Monitoring.