Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Шлюз приложений для контейнеров — это подсистема балансировки нагрузки уровня приложений (уровень 7) и динамический продукт управления трафиком для рабочих нагрузок, работающих в кластере Kubernetes. Он расширяет портфель балансировки нагрузки приложений Azure и является новым предложением в рамках семейства продуктов Шлюз приложений.
Шлюз приложений для контейнеров — это эволюция контроллера входящего трафика для шлюза приложений (AGIC),приложения Kubernetes, которое позволяет клиентам службы Azure Kubernetes Service (AKS) использовать родной шлюз приложений Azure для балансировки нагрузки. В текущей форме AGIC отслеживает изменения в подмножестве ресурсов Kubernetes и применяет их к Application Gateway, используя Azure Resource Manager (ARM).
Как это работает?
Шлюз приложений для контейнеров состоит из трех компонентов:
- Application Gateway for Containers resource
- Фронтенды
- Ассоциации
The following dependencies are also referenced in an Application Gateway for Containers deployment:
- Частный IP-адрес
- Subnet Delegation
- User-assigned Managed Identity
Архитектура Шлюз приложений для контейнеров представлена на следующем рисунке:
Дополнительные сведения о том, как Шлюз приложений для контейнеров принимает входящие запросы и направляет их в серверный целевой объект, см. в компонентах шлюза приложений для контейнеров.
Возможности и преимущества
Шлюз приложений для контейнеров предлагает совершенно новые функции при выпуске, такие как:
- Traffic splitting / Weighted round robin
- Mutual authentication to the backend target
- Поддержка Kubernetes для Ingress и Gateway API
- Гибкие стратегии развертывания
- Increased performance, offering near real-time updates to add or remove pods, routes, and probes
Шлюз приложений для контейнеров предоставляет эластичный и масштабируемый входной трафик для кластеров AKS и включает новый уровень обработки данных, а также управляющую плоскость с новым набором API ARM, отличающимся от существующего шлюза приложений. Эти API отличаются от текущей реализации Шлюз приложений. Шлюз приложений для контейнеров находится за пределами плоскости данных кластера AKS и отвечает за входящий трафик. Служба управляется компонентом контроллера ALB, который выполняется внутри кластера AKS и соответствует API шлюза Kubernetes.
Функции балансировки нагрузки
Шлюз приложений для контейнеров поддерживает следующие функции управления трафиком:
- Автоматические повторные попытки
- Автомасштабирование
- Availability zone resiliency
- Custom and default health probes
- Поддержка сертификатов ECDSA и RSA
- gRPC
- Header rewrite
- HTTP/2
- Управление трафиком HTTPS:
- Завершение SSL-запросов
- Сквозное шифрование SSL
- Поддержка API Ingress и Gateway
- Переадресация запросов HTTP/HTTPS уровня 7 на основе префикса или точного соответствия:
- Hostname (Имя узла)
- Путь
- Header
- Строка запроса
- Методы
- Порты (80/443)
- Mutual authentication (mTLS) to frontend, backend, or end-to-end
- Поддержка событий, отправляемых сервером (SSE)
- Traffic splitting / weighted round robin
- Политики TLS
- Перенаправление URL-адреса
- Переопределение URL-адресов
- Поддержка WebSocket
Стратегии развертывания
Существует две стратегии развертывания для управления Шлюзом приложений для контейнеров:
-
Bring your own (BYO) deployment: In this deployment strategy, deployment and lifecycle of the Application Gateway for Containers resource, Association resource, and Frontend resource is assumed via Azure portal, CLI, PowerShell, Terraform, etc. and referenced in configuration within Kubernetes.
- In Gateway API: Every time you wish to create a new Gateway resource in Kubernetes, a Frontend resource should be provisioned in Azure prior and referenced by the Gateway resource. Ответственность за удаление ресурса Frontend лежит на администраторе Azure, и он не удаляется автоматически при удалении ресурса шлюза в Kubernetes.
-
Управляемый контроллером ALB: В этой стратегии развертывания контроллер ALB, развернутый в Kubernetes, отвечает за жизненный цикл Шлюза приложений для контейнеров и связанных ресурсов. Контроллер балансировки нагрузки приложений (ALB) создает ресурс шлюза приложений для контейнеров, когда в кластере определяется пользовательский ресурс ApplicationLoadBalancer. Его жизненный цикл зависит от жизненного цикла этого пользовательского ресурса.
- В API шлюза. Каждый раз при создании ресурса шлюза, ссылающегося на ресурс ApplicationLoadBalancer, контроллер ALB подготавливает новый Frontend-ресурс и управляет его жизненным циклом в зависимости от жизненного цикла ресурса шлюза.
Поддерживаемые регионы
в настоящее время Шлюз приложений для контейнеров предлагается в следующих регионах:
- Восточная Австралия
- Центральная Канада
- Центральная Индия
- Центральная часть США
- Восточная Азия
- Восточная часть США
- Восток США2
- Центральная Франция
- Центрально-Западная Германия
- Республика Корея, центральный регион
- Центрально-северная часть США
- Северная Европа
- Восточная Норвегия;
- Центрально-южная часть США
- Юго-Восточная Азия
- Северная Швейцария
- Северная часть ОАЭ;
- южная часть Соединенного Королевства
- западная часть США
- Западная Европа
Реализация API шлюза
Контроллер ALB реализует версию v1 API Gateway.
Gateway API Resource | Поддержка | Комментарии |
---|---|---|
GatewayClass | Да | |
Шлюз | Да | Поддержка протокола HTTP и HTTPS в прослушивателе. Для прослушивателя разрешены только порты: 80 и 443. |
HTTPRoute | Да | |
ReferenceGrant | Да | В настоящее время поддерживает версию v1alpha1 этого API |
Реализация API Ingress
Контроллер ALB реализует поддержку Ingress.
Ingress API Resource | Поддержка | Комментарии |
---|---|---|
Вход | Да | Поддержка протокола HTTP и HTTPS в прослушивателе. |
Сообщите о проблемах и оставить отзыв
Для обратной связи опубликуйте новую идею на feedback.azure.com. Для решения проблем подайте запрос на поддержку через портал Azure в вашем ресурсе Шлюз приложений для контейнеров.
Цены и соглашение об уровне обслуживания
Для получения информации о ценах на Шлюз приложений для контейнеров см. цены на Шлюз приложений.
Для получения сведений о соглашении об уровне обслуживания для Шлюза приложений для контейнеров, см. Соглашения об уровне обслуживания (SLA) для онлайн-сервисов.
Новые возможности
To learn what's new with Application Gateway for Containers, see Azure updates.