Планирование сети приложений для службы Azure Kubernetes (AKS)

В этой статье описаны параметры сети приложений для службы Azure Kubernetes (AKS). Сначала мы ставим вопрос, чтобы помочь вам в планировании, а затем предоставляем варианты, рекомендации и лучшие практики.

Как получить доступ к приложениям?

Сеть приложений управляет тем, как приложения, работающие в модулях pod Kubernetes, предоставляются клиентам за пределами кластера.

Параметры сети приложений

При настройке сети приложений можно выбрать между службой Load Balancer с балансировкой нагрузки уровня 4 или контроллерами входящего трафика с балансировкой нагрузки уровня 7:

Вариант сети приложений Функции и функциональные возможности
Служба балансировки нагрузки • Использует службу Kubernetes LoadBalancer для непосредственного предоставления приложения на общедоступном или частном IP-адресе.
• Поддерживает несколько портов и любой трафик TCP или UDP.
Требуется по крайней мере одна уникальная пара IP:port для каждого приложения.
Контроллеры Ingress • Размещает приложение за обратным прокси-сервером седьмого уровня.
• Доступно только для http-трафика (HTTP, HTTPS, gRPC).
• Может совместно использовать один общедоступный IP-адрес и порты для всех определений входящего трафика на одном контроллере входящего трафика.
• Варианты управляемого входящего трафика включают в себя: управляемый ingress-nginx через надстройку маршрутизации приложений, шлюз приложений Azure для контейнеров (рекомендуется) и шлюз входящего трафика Istio.

Recommendations

Для трафика, отличного от HTTP, рекомендуется использовать службу Load Balancer со балансировкой нагрузки уровня 4. Этот подход обеспечивает прямой доступ к приложениям и поддерживает широкий спектр протоколов. Для трафика типа HTTP рекомендуется использовать контроллеры входящего трафика с балансировкой нагрузки уровня 7. Этот подход позволяет воспользоваться преимуществами расширенных функций маршрутизации и совместно использовать один общедоступный IP-адрес для нескольких приложений.