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

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

В этой статье рассматриваются различные типы исходящего подключения, доступные в кластерах AKS.

Примечание.

Теперь можно обновить outboundType после создания кластера.

Ограничения

  • Для настройки outboundType требуются кластеры AKS с vm-set-typeVirtualMachineScaleSets и load-balancer-skuStandard.

Исходящие типы в AKS

Кластер AKS можно настроить с помощью следующих исходящих типов: подсистема балансировки нагрузки, шлюз NAT или определяемая пользователем маршрутизация. Исходящий тип влияет только на исходящий трафик кластера. Подробнее см. в разделе о настройке контроллеров объекта ingress.

Примечание.

Вы можете использовать собственную [таблицу маршрутов][byo-route-table] с UDR и сетью kubenet. Убедитесь, что удостоверение кластера (субъект-служба или управляемое удостоверение) имеет разрешения участника для пользовательской таблицы маршрутов.

Исходящий тип loadBalancer

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

Если loadBalancer задано, AKS автоматически завершает следующую конфигурацию:

  • Общедоступный IP-адрес подготавливается для исходящего трафика кластера.
  • Общедоступный IP-адрес назначается ресурсу балансировщика нагрузки.
  • Серверные пулы для подсистемы балансировки нагрузки настраиваются для агентских узлов в кластере.

На схеме показаны IP-адреса для входящего и исходящего трафика: IP-адрес входящего трафика направляет трафик подсистеме балансировки нагрузки, которая, в свою очередь, передает трафик во внутренний кластер и обратно; а другой трафик направляется на IP-адрес исходящего трафика, который передает трафик в Интернет, MCR, требуемые службы Azure и на уровень управления AKS.

Дополнительные сведения см. в статье об использовании стандартной подсистемы балансировки нагрузки в AKS.

Исходящий managedNatGateway тип или userAssignedNatGateway

Если managedNatGateway или userAssignedNatGateway выбрано для outboundTypeэтого параметра, AKS использует шлюз NAT сети Azure для исходящего трафика кластера.

  • Выберите managedNatGateway при использовании управляемых виртуальных сетей. AKS подготавливает шлюз NAT и присоединяет его к подсети кластера.
  • Выберите userAssignedNatGateway при использовании собственных виртуальных сетей. Этот параметр требует подготовки шлюза NAT перед созданием кластера.

Дополнительные сведения см. в статье об использовании шлюза NAT с AKS.

Исходящий тип userDefinedRouting

Примечание.

Тип userDefinedRouting исходящего трафика — это расширенный сетевой сценарий и требует надлежащей конфигурации сети.

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

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

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

Обновление outboundType после создания кластера

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

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

Поддерживаемые пути миграции для управляемой виртуальной сети

Управляемая виртуальная сеть LoadBalancer managedNATGateway userAssignedNATGateway userDefinedRouting
LoadBalancer Н/П Поддерживается Не поддерживается Не поддерживается
managedNATGateway Поддерживается Н/П Не поддерживается Не поддерживается
userAssignedNATGateway Не поддерживается Не поддерживается Н/П Не поддерживается
userDefinedRouting Поддерживается Поддерживается Не поддерживается Н/П

Поддерживаемые пути миграции для виртуальной сети BYO

Виртуальная сеть BYO LoadBalancer managedNATGateway userAssignedNATGateway userDefinedRouting
LoadBalancer Н/П Не поддерживается Поддерживается Поддерживается
managedNATGateway Не поддерживается Н/П Не поддерживается Не поддерживается
userAssignedNATGateway Поддерживается Не поддерживается Н/П Поддерживается
userDefinedRouting Поддерживается Не поддерживается Поддерживается Н/П

Миграция поддерживается только между loadBalancer( managedNATGateway при использовании управляемой виртуальной сети) userAssignedNATGateway и userDefinedRouting (при использовании пользовательской виртуальной сети).

Предупреждение

Перенос исходящего типа на управляемые пользователем типы (userAssignedNATGateway и userDefinedRouting) изменит исходящие общедоступные IP-адреса кластера. Если разрешенные диапазоны IP-адресов включены, убедитесь, что новый диапазон исходящих IP-адресов добавляется к авторизованному диапазону IP-адресов.

Предупреждение

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

Обновление кластера для использования нового исходящего типа

Примечание.

Для переноса исходящего типа необходимо использовать версию >= 2.56 Azure CLI. Используется az upgrade для обновления до последней версии Azure CLI.

  • Обновите исходящую конфигурацию кластера с помощью az aks update команды.

Обновление кластера с loadbalancer на managedNATGateway

az aks update -g <resourceGroup> -n <clusterName> --outbound-type managedNATGateway --nat-gateway-managed-outbound-ip-count <number of managed outbound ip>

Обновление кластера от managedNATGateway до loadbalancer

az aks update -g <resourceGroup> -n <clusterName> \
--outbound-type loadBalancer \
<--load-balancer-managed-outbound-ip-count <number of managed outbound ip>| --load-balancer-outbound-ips <outbound ip ids> | --load-balancer-outbound-ip-prefixes <outbound ip prefix ids> >

Предупреждение

Не повторно используйте IP-адрес, который уже используется в предыдущих конфигурациях исходящего трафика.

Обновление кластера от managedNATGateway до userDefinedRouting

az aks update -g <resourceGroup> -n <clusterName> --outbound-type userDefinedRouting

Обновление кластера от loadbalancer до userAssignedNATGateway в сценарии виртуальной сети BYO

az aks update -g <resourceGroup> -n <clusterName> --outbound-type userAssignedNATGateway

Следующие шаги