Настройка исходящего трафика кластера с исходящими типами в Служба Azure Kubernetes (AKS)
Вы можете настроить исходящий трафик для кластера AKS в соответствии с конкретными сценариями. По умолчанию AKS подготавливает стандартную подсистему балансировки нагрузки SKU для настройки и использования для исходящего трафика. Однако настройка по умолчанию может не соответствовать требованиям всех сценариев, если общедоступные IP-адреса запрещены или дополнительные прыжки требуются для исходящего трафика.
В этой статье рассматриваются различные типы исходящего подключения, доступные в кластерах AKS.
Примечание.
Теперь можно обновить outboundType
после создания кластера.
Внимание
В не частных кластерах трафик кластера сервера API направляется и обрабатывается через исходящий тип кластеров. Чтобы предотвратить обработку трафика сервера API в качестве общедоступного трафика, рассмотрите возможность использования частного кластера или ознакомьтесь с функцией интеграции виртуальной сети СЕРВЕРА API.
Ограничения
- Для настройки
outboundType
требуются кластеры AKS сvm-set-type
VirtualMachineScaleSets
иload-balancer-sku
Standard
.
Исходящие типы в AKS
Кластер AKS можно настроить с помощью следующих исходящих типов: подсистема балансировки нагрузки, шлюз NAT или определяемая пользователем маршрутизация. Исходящий тип влияет только на исходящий трафик кластера. Подробнее см. в разделе о настройке контроллеров объекта ingress.
Исходящий тип 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.
Поддерживаемые пути миграции для управляемой виртуальной сети
Каждая строка показывает, можно ли перенести исходящий тип в типы, перечисленные в верхней части. "Поддерживаемый" означает, что миграция возможна, а "Не поддерживается" или "N/A" означает, что это не так.
От |Кому | loadBalancer |
managedNATGateway |
userAssignedNATGateway |
userDefinedRouting |
---|---|---|---|---|
loadBalancer |
Н/П | Поддерживается | Не поддерживается | Не поддерживается |
managedNATGateway |
Поддерживается | Н/П | Не поддерживается | Не поддерживается |
userAssignedNATGateway |
Не поддерживается | Не поддерживается | Н/П | Не поддерживается |
Поддерживаемые пути миграции для виртуальной сети 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 --resource-group <resourceGroup> --name <clusterName> --outbound-type managedNATGateway --nat-gateway-managed-outbound-ip-count <number of managed outbound ip>
Обновление кластера от managedNATGateway до loadbalancer
az aks update --resource-group <resourceGroup> --name <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 --resource-group <resourceGroup> --name <clusterName> --outbound-type userDefinedRouting
Обновление кластера от loadbalancer до userAssignedNATGateway в сценарии виртуальной сети BYO
- Свяжите шлюз NAT с подсетью, с которой связана рабочая нагрузка. Сведения о создании управляемого или назначаемого пользователем шлюза NAT
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway
Следующие шаги
Azure Kubernetes Service