Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существующие кластеры Службы 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, если кластер:
- Использует Kubernetes версии 1.27 или более поздней.
- Не использует функцию динамического выделения IP-адресов .
- Не имеет активированных политик сети. Если необходимо удалить подсистему сетевой политики перед обновлением кластера, выполните действия, описанные в разделе "Удаление диспетчера сетевых политик Azure" или Calico.
- Не использует пулы узлов Windows с Docker в качестве среды выполнения контейнера.
До сборки ОС 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-reconciledConfigMap должна существовать в отношении Azureip-masq-agentConfigMap. Он обновляется автоматически во время процесса обновления.
Процесс обновления запускает переустановку пулов узлов одновременно. Обновление каждого пула узлов отдельно до 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, необходимо:
- Сначала обновите режим IPAM до режима оверлея Azure CNI.
- Обновите плоскость данных в 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