Настройка исходящего трафика кластера с исходящими типами в Служба Azure Kubernetes (AKS)
Вы можете настроить исходящий трафик для кластера AKS в соответствии с конкретными сценариями. По умолчанию AKS подготавливает стандартную подсистему балансировки нагрузки SKU для настройки и использования для исходящего трафика. Однако настройка по умолчанию может не соответствовать требованиям всех сценариев, если общедоступные IP-адреса запрещены или дополнительные прыжки требуются для исходящего трафика.
В этой статье рассматриваются различные типы исходящего подключения, доступные в кластерах AKS.
Примечание.
Теперь можно обновить outboundType
после создания кластера.
Ограничения
- Для настройки
outboundType
требуются кластеры AKS сvm-set-type
VirtualMachineScaleSets
иload-balancer-sku
Standard
.
Исходящие типы в AKS
Кластер AKS можно настроить с помощью следующих исходящих типов: подсистема балансировки нагрузки, шлюз NAT или определяемая пользователем маршрутизация. Исходящий тип влияет только на исходящий трафик кластера. Подробнее см. в разделе о настройке контроллеров объекта ingress.
Примечание.
Вы можете использовать собственную [таблицу маршрутов][byo-route-table] с UDR и сетью kubenet. Убедитесь, что удостоверение кластера (субъект-служба или управляемое удостоверение) имеет разрешения участника для пользовательской таблицы маршрутов.
Исходящий тип loadBalancer
Подсистема балансировки нагрузки используется для исходящего трафика через общедоступный IP-адрес, назначенный AKS. Тип исходящего трафика loadBalancer
поддерживает службы Kubernetes типа loadBalancer
, которые ожидают исходящий трафик из балансировщика нагрузки, созданного поставщиком ресурсов AKS.
Если loadBalancer
задано, AKS автоматически завершает следующую конфигурацию:
- Общедоступный IP-адрес подготавливается для исходящего трафика кластера.
- Общедоступный IP-адрес назначается ресурсу балансировщика нагрузки.
- Серверные пулы для подсистемы балансировки нагрузки настраиваются для агентских узлов в кластере.
Дополнительные сведения см. в статье об использовании стандартной подсистемы балансировки нагрузки в 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
- Добавьте маршрут
0.0.0.0/0
в таблицу маршрутов по умолчанию. Сведения о настройке исходящего трафика кластера с помощью пользовательской таблицы маршрутизации в Служба Azure Kubernetes (AKS)
az aks update -g <resourceGroup> -n <clusterName> --outbound-type userDefinedRouting
Обновление кластера от loadbalancer до userAssignedNATGateway в сценарии виртуальной сети BYO
- Свяжите шлюз NAT с подсетью, с которой связана рабочая нагрузка. Сведения о создании управляемого или назначаемого пользователем шлюза NAT
az aks update -g <resourceGroup> -n <clusterName> --outbound-type userAssignedNATGateway