Поделиться через


Создание пулов узлов с уникальными подсетями в службе Azure Kubernetes (AKS)

Для некоторых рабочих нагрузок может потребоваться разделение узлов кластера на отдельные пулы для логической изоляции. Отдельные подсети, выделенные для каждого пула узлов в кластере, могут помочь обеспечить эту изоляцию, которая может решать такие требования, как наличие неконтентного адресного пространства виртуальной сети для разделения между пулами узлов.

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

Предпосылки

Ограничения

  • Все подсети, назначенные пулам узлов, должны принадлежать одной виртуальной сети.
  • Системные модули pod должны иметь доступ ко всем узлам и модулям pod в кластере, чтобы обеспечить критически важные функциональные возможности, такие как разрешение DNS и туннелирование журналов kubectl/exec/port-forward proxy.
  • При развертывании виртуальной сети после создания кластера необходимо обновить кластер перед добавлением подсети за пределами исходного блока CIDR. Хотя при добавлении пула агентов возникают ошибки AKS, aks-preview расширение Azure CLI (версия 0.5.66 и выше) теперь поддерживает выполнение команды az aks update с использованием только необходимых аргументов --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME. Эта команда выполняет операцию обновления без внесения каких-либо изменений, которые могут восстановить кластер, застрявший в состоянии сбоя.
  • В кластерах с версией Kubernetes менее 1.23.3, трафик SNATs kube-proxy из новых подсетей, что может привести к удалению пакетов политикой сети Azure.
  • Трафик SNAT для узлов Windows в новые подсети, пока пул узлов не будет переосмыслен.
  • Внутренние подсистемы балансировки нагрузки по умолчанию — одна из подсетей пула узлов.

Добавление пула узлов с уникальной подсетью

  • Добавьте пул узлов с уникальной подсетью в существующий кластер AKS с помощью az aks nodepool add команды и указанного --vnet-subnet-id параметра.

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP_NAME \
        --cluster-name $CLUSTER_NAME \
        --name $NODE_POOL_NAME \
        --node-count 3 \
        --vnet-subnet-id $SUBNET_RESOURCE_ID
    

Дальнейшие шаги

Дополнительные сведения о пулах узлов в AKS см. в статье "Управление пулами узлов" для кластера в службе Azure Kubernetes (AKS).