Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Kubernetes по умолчанию не предоставляет систему сетевого интерфейса. Вместо этого сетевые плагины предоставляют эту функцию. Служба Azure Kubernetes (AKS) предоставляет несколько поддерживаемых подключаемых модулей CNI. Сведения о поддерживаемых подключаемых модулях см. в концепциях сети AKS.
Поддерживаемые подключаемые модули удовлетворяют большинству сетевых требований в среде Kubernetes. Расширенные пользователи AKS могут захотеть использовать тот же модуль CNI, что и в локальных средах Kubernetes, или воспользоваться расширенными функциями, доступными в других модулях CNI.
В этой статье показано, как развернуть кластер AKS без предварительно установленного подключаемого модуля CNI. Затем можно установить любой подключаемый модуль CNI от стороннего производителя, который работает в Azure.
Поддержка
Поддержка Майкрософт не может помочь с проблемами, связанными с CNI в кластерах, развернутых с помощью предоставленного пользователем сетевого интерфейса контейнера (BYOCNI). Например, проблемы, связанные с CNI, охватывают большую часть трафика "восток-запад" (модуль-модуль), а также команды вида kubectl proxy
и подобные. Если требуется поддержка CNI, используйте поддерживаемый сетевой подключаемый модуль AKS или обратитесь за поддержкой стороннего поставщика подключаемого модуля BYOCNI.
Поддержка по-прежнему предоставляется для проблем, не связанных с CNI.
Предварительные условия
- Для Azure Resource Manager (ARM) или Bicep используйте по крайней мере шаблон версии 2022-01-02-preview или 2022-06-01.
- Для Azure CLI используйте по крайней мере версию 2.39.0.
- Виртуальная сеть для кластера AKS должна разрешать исходящее подключение к Интернету.
- Кластеры AKS могут не использовать
169.254.0.0/16
,172.30.0.0/16
,172.31.0.0/16
или192.0.2.0/24
в качестве диапазона адресов службы Kubernetes, диапазона адресов pod или диапазона адресов виртуальной сети кластера. - Удостоверение кластера, используемое кластером AKS, должно иметь по крайней мере разрешения Network Contributor на подсеть внутри вашей виртуальной сети. Если вы хотите определить пользовательскую роль вместо использования встроенной роли участника сети, требуются следующие разрешения:
Microsoft.Network/virtualNetworks/subnets/join/action
Microsoft.Network/virtualNetworks/subnets/read
- Подсеть, назначенная пулу узлов AKS, не может быть делегированной подсетью.
- AKS не применяет группы безопасности сети (NSG) к подсети или не изменяет группы безопасности сети, связанные с этой подсетью. Если вы предоставляете свою собственную подсеть и добавляете НСГ, связанные с ней, необходимо убедиться, что правила безопасности в этих НСГ разрешают трафик в пределах диапазона CIDR узла. Дополнительные сведения см. в разделе Группы безопасности сети.
Создание кластера AKS без предварительно установленного подключаемого модуля CNI
Создайте группу ресурсов Azure для кластера AKS с помощью
az group create
команды.az group create --location eastus --name myResourceGroup
Создайте кластер AKS с помощью
az aks create
команды. Передайте параметр--network-plugin
со значением параметраnone
.az aks create \ --location eastus \ --resource-group myResourceGroup \ --name myAKSCluster \ --network-plugin none \ --generate-ssh-keys
Развертывание подключаемого модуля CNI
После завершения подготовки AKS кластер находится в сети, но все узлы находятся в состоянии NotReady
, как показано в следующем примере:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
aks-nodepool1-23902496-vmss000000 NotReady agent 6m9s v1.21.9
$ kubectl get node -o custom-columns='NAME:.metadata.name,STATUS:.status.conditions[?(@.type=="Ready")].message'
NAME STATUS
aks-nodepool1-23902496-vmss000000 container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
На этом этапе кластер готов к установке плагина CNI.
Следующие шаги
Узнайте больше о сетевом взаимодействии в AKS из следующих статей:
Azure Kubernetes Service