Настройка исходящего трафика кластера с помощью пользовательской таблицы маршрутизации в Службе Azure Kubernetes (AKS)

Вы можете настроить исходящий трафик для кластеров Службы Azure Kubernetes (AKS) в соответствии с конкретными сценариями. AKS по умолчанию подготавливает подсистему Standard балансировки нагрузки SKU для исходящего трафика. Однако настройка по умолчанию может не соответствовать требованиям всех сценариев, если общедоступные IP-адреса запрещены или сценарий требует дополнительных прыжков для исходящего трафика.

В этой статье описывается, как настроить исходящий маршрут кластера для поддержки пользовательских сетевых сценариев. К этим сценариям относятся те, которые запрещают общедоступные IP-адреса и требуют, чтобы кластер сидел за виртуальным сетевым (модуль) (NVA).

Предварительные требования

  • Azure CLI версии 2.0.81 или более поздней. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
  • Версия 2020-01-01 API или выше.

Требования и ограничения

Использование типа исходящего трафика является сложным сетевым сценарием и требует правильной настройки сети. К использованию исходящего типа применяются следующие требования и ограничения.

  • Для параметра outboundType требуются кластеры AKS с vm-set-type и VirtualMachineScaleSets .load-balancer-skuStandard
  • Чтобы задать для outboundType значение UDR, необходимо использовать определяемый пользователем маршрут с действительными исходящими подключениями для кластера.
  • Если для outboundType задано значение UDR, это подразумевает, что исходный IP-адрес входящего трафика, маршрутизируемого на балансировщик нагрузки, может не соответствовать конечному адресу исходящего трафика кластера.

Общие сведения о настройке исходящего трафика с помощью пользовательской таблицы маршрутизации

AKS не настраивает автоматически пути исходящего трафика, если userDefinedRouting задано. Это означает, что необходимо настроить исходящий трафик.

Если вы не используете архитектуру подсистемы балансировки нагрузки (SLB) уровня "Стандартный", необходимо установить явный исходящий трафик. Необходимо развернуть кластер AKS в существующей виртуальной сети с ранее настроенной подсетью. Эта архитектура требует явной отправки исходящего трафика в (модуль), например брандмауэр, шлюз или прокси-сервер, поэтому общедоступный IP-адрес, назначенный подсистеме балансировки нагрузки (цен. категория "Стандартный") или (модуль), может обрабатывать преобразование сетевых адресов (NAT).

Создание подсистемы балансировки нагрузки с помощью userDefinedRouting

Кластеры AKS с исходящим типом UDR получают подсистему балансировки нагрузки уровня "Стандартный" только при развертывании первой службы Kubernetes типа loadBalancer . Для входящих запросов в подсистеме балансировки нагрузки настраиваются общедоступный IP-адрес и серверный пул. Поставщик облачных служб Azure настраивает правила для входящего трафика, но не настраивает исходящий общедоступный IP-адрес или правила для исходящего трафика. Определяемый пользователем маршрут является единственным источником исходящего трафика.

Примечание

Плата за подсистемы балансировки нагрузки Azure не взимается, пока не будет размещено правило.

Развертывание кластера с типом исходящего трафика UDR и брандмауэром Azure

Чтобы увидеть приложение кластера с типом исходящего трафика с использованием определяемого пользователем маршрута, см. этот пример ограничения исходящего трафика с помощью брандмауэра Azure.

Важно!

Для исходящего типа UDR требуется маршрут для 0.0.0.0/0 и назначение следующего прыжка NVA в таблице маршрутов. В таблице маршрутов уже есть значение по умолчанию 0.0.0.0/0 к Интернету. Если azure не будет использовать общедоступный IP-адрес для преобразования исходных сетевых адресов (SNAT), простое добавление этого маршрута не обеспечит исходящее подключение к Интернету. AKS проверяет, что вы создаете не маршрут 0.0.0.0/0, указывающий на Интернет, а на шлюз, NVA и т. д. При использовании исходящего типа UDR общедоступный IP-адрес подсистемы балансировки нагрузки для входящих запросов не создается, если не настроена служба типа loadbalancer. AKS никогда не создает общедоступный IP-адрес для исходящих запросов , если задан тип UDR для исходящего трафика.

Дальнейшие действия

Дополнительные сведения о определяемых пользователем маршрутах и сети Azure см. в статье: