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


Обновление режима IPAM Azure CNI и технологий плоскости данных для кластеров Службы Azure Kubernetes (AKS)

Существующие кластеры Службы Azure Kubernetes (AKS) неизбежно нуждаются в обновлении новых режимов управления назначениями IP-адресов (IPAM) и технологий плоскости данных для доступа к новейшим функциям и поддержке. В этой статье приводятся рекомендации по обновлению существующего кластера AKS для использования Azure CNI Overlay для режима IPAM и Azure CNI Powered by Cilium в качестве плоскости данных.

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

AKS поддерживает единый сетевой путь миграции только в одном направлении для существующих кластеров. Миграция поддерживается только в Azure CNI Overlay.

Следующие миграции являются единственными поддерживаемыми:

  • Azure CNI (подсеть узла) → оверлей Azure CNI
  • Kubenet → Azure CNI Overlay

Обновление кластера до использования Azure CNI Overlay — это односторонняя необратимая операция. После обновления кластера его нельзя перенести обратно в сетевой режим на основе подсети узла.

Обновите режим IPAM на Azure CNI Overlay

Обновление существующего кластера до Azure CNI Overlay является необратимым процессом.

Вы можете обновить существующий кластер AKS до Azure CNI Overlay, если кластер:

До сборки ОС Windows 20348.1668 существовало ограничение, связанное с наложением подов Windows, когда неправильно маршрутизировались пакеты от подов сетевого узла через преобразование исходящих сетевых адресов (SNAT). Это ограничение негативно повлияло на кластеры, находящиеся в процессе обновления до Azure CNI Overlay-сети. Чтобы избежать этой проблемы, используйте сборку ОС Windows 20348.1668 или более поздней версии.

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

  • Если вы используете настраиваемую azure-ip-masq-agent конфигурацию для включения дополнительных диапазонов IP-адресов, которые не должны отправлять пакеты SNAT из модулей pod, обновление до Azure CNI Overlay может нарушить подключение к этим диапазонам. IP-адреса pod из пространства наложенной сети недоступны для любого элемента вне узлов кластера.

  • Для старых кластеров ConfigMap может оказаться оставшимся от предыдущей версии azure-ip-masq-agent. Если этот объект ConfigMap (именованный azure-ip-masq-agent-config) существует и не намеренно используется, его следует удалить перед обновлением.

  • Если вы не используете настраиваемую ip-masq-agent конфигурацию, то только azure-ip-masq-agent-config-reconciled ConfigMap должна существовать в отношении Azure ip-masq-agent ConfigMap. Он обновляется автоматически во время процесса обновления.

Процесс обновления запускает переустановку пулов узлов одновременно. Обновление каждого пула узлов отдельно до Azure CNI Overlay не поддерживается. Любые сбои сети кластера аналогичны обновлениям образа узла или обновлению версии Kubernetes, где каждый узел в пуле узлов пересоздается.

Обновите существующий кластер сетевого интерфейса контейнеров Azure (CNI), чтобы использовать наложение Azure CNI с помощью az aks update команды.

az aks update \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --network-plugin-mode overlay \
  --pod-cidr 192.168.0.0/16

Параметр --pod-cidr требуется при обновлении с устаревших подключаемых модулей CNI, поскольку pod'ы должны получать IP-адреса из нового пространства наложения. Новое виртуальное сетевое пространство не пересекается с существующим плагином подсети узла Azure CNI.

Бесклассовая междоменная маршрутизация (CIDR) для pod также не должна перекрываться с каким-либо адресом виртуальной сети пулов узлов. Например, если адрес виртуальной сети равен 10.0.0.0/8, а узлы находятся в подсети 10.240.0.0/16, --pod-cidr параметр не может перекрываться с 10.0.0.0/8 или существующей службой CIDR в кластере.

Обновление плоскости данных до Azure CNI с помощью Cilium

Azure CNI Powered by Cilium является рекомендуемой и поддерживаемой долгосрочной конфигурацией сети для AKS. Он объединяет плоскость управления Azure CNI с плоскости данных Cilium для обеспечения масштабируемой сети и расширенных возможностей безопасности.

Рекомендации по обновлению

  • Режим IPAM и плоскость данных невозможно обновить в одной операции. Если вы планируете выполнить миграцию в Azure CNI Overlay и Azure CNI Powered by Cilium, необходимо:
  1. Сначала обновите режим IPAM до режима оверлея Azure CNI.
  2. Обновите плоскость данных в Azure CNI powered by Cilium как отдельную операцию.
  • При включении Cilium в кластере, использующем другой подсистеме сетевой политики (Диспетчер сетевых политик Azure или Calico), существующий модуль удаляется и заменяется Cilium. Это может повлиять на поведение политики сети. Дополнительные сведения см. в статье [Миграция из диспетчера сетевых политик (NPM) в политику сети Cilium] (./migrate-from-npm-to-cilium-network-policy.md)
  • Обновление плоскости данных на Azure CNI на базе Cilium не поддерживается в кластерах с пулами узлов Windows.
  • Кластеры с включенной автоматической подготовкой узлов (NAP) не могут быть обновлены до Azure CNI на основе Cilium. В качестве обходного пути отключите NAP перед обновлением, а затем снова включите его после завершения обновления.

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

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

Чтобы выполнить обновление, вам потребуется Azure CLI версии 2.52.0 или более поздней. Запустите az --version , чтобы просмотреть текущую установленную версию. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".

Обновите существующий кластер до Azure CNI Powered by Cilium с помощью команды az aks update.

az aks update \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --network-dataplane cilium