Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как создать виртуальную сеть и подсеть, создать управляемое удостоверение с разрешениями на доступ к виртуальной сети и создать кластер Службы Azure Kubernetes (AKS) в пользовательской виртуальной сети с включенной автоматической подготовкой узла (NAP).
Предпосылки
- Подписка Azure. Если у вас нет учетной записи, вы можете создать бесплатную учетную запись.
- Версия Azure CLI
2.76.0или более поздняя. Чтобы узнать версию, выполните командуaz --version. Дополнительные сведения об установке или обновлении Azure CLI см. в разделе Установка Azure CLI. - Ознакомьтесь со статьей «Обзор автоматического создания узлов (NAP) в AKS», в которой подробно описано, как работает NAP.
- Ознакомьтесь с обзором конфигураций сети для автоматической подготовки узлов (NAP) в службе Azure Kubernetes (AKS).
Ограничения
- При создании кластера NAP в настраиваемой виртуальной сети (VNet) необходимо использовать Стандартный балансировщик нагрузки. Базовая подсистема балансировки нагрузки не поддерживается.
- Дополнительные сведения о других ограничениях и неподдерживаемых функциях для NAP см. в статье AKS об автоматической подготовке узлов (NAP).
Создание виртуальной сети и подсети
Это важно
При использовании пользовательской виртуальной сети с NAP следует учитывать следующие сведения:
- Необходимо создать и делегировать подсеть
Microsoft.ContainerService/managedClustersсервера API, которой предоставляются разрешения службы AKS для внедрения модулей pod сервера API и внутренней подсистемы балансировки нагрузки в эту подсеть. Вы не можете использовать подсеть для других рабочих нагрузок, но ее можно использовать для нескольких кластеров AKS, расположенных в одной виртуальной сети. Минимальный поддерживаемый размер подсети сервера API — /28. - Весь трафик в виртуальной сети разрешен по умолчанию. Однако если вы добавили правила группы безопасности сети (NSG), чтобы ограничить трафик между разными подсетями, необходимо убедиться, что вы настроили соответствующие разрешения. Дополнительные сведения см. в документации по группе безопасности сети.
Создайте виртуальную сеть с помощью
az network vnet createкоманды.az network vnet create \ --name $VNET_NAME \ --resource-group $RG_NAME \ --location $LOCATION \ --address-prefixes 172.19.0.0/16Создайте подсеть с помощью команды
az network vnet subnet createи делегируйте ееMicrosoft.ContainerService/managedClusters.az network vnet subnet create \ --resource-group $RG_NAME \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --delegations Microsoft.ContainerService/managedClusters \ --address-prefixes 172.19.0.0/28
Создать управляемое удостоверение и предоставить ему разрешения на доступ к VNet
Создайте управляемое удостоверение с помощью
az identity createкоманды.az identity create \ --resource-group $RG_NAME \ --name $IDENTITY_NAME \ --location $LOCATIONПолучите основной идентификатор управляемого удостоверения и задайте его переменной среды с помощью команды [
az identity show][az-identity-show].IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)Назначьте роль участника сети управляемому удостоверению с помощью
az role assignment createкоманды.az role assignment create \ --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME" \ --role "Network Contributor" \ --assignee $IDENTITY_PRINCIPAL_ID
Создайте кластер AKS с автоматическим обеспечением узлов (NAP) в пользовательской виртуальной сети
Создайте кластер AKS с поддержкой NAP в пользовательской виртуальной сети с помощью
az aks createкоманды. Установите флаг--node-provisioning-modeв значениеAuto, чтобы включить NAP.Следующая команда также задает
--network-pluginвazure,--network-plugin-modeвoverlayи--network-dataplaneвcilium. Дополнительные сведения о конфигурациях сети, поддерживаемых с помощью NAP, см. в разделе "Настройка сети для автоматической подготовки узлов" в AKS.az aks create \ --name $CLUSTER_NAME \ --resource-group $RG_NAME \ --location $LOCATION \ --assign-identity "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$IDENTITY_NAME" \ --network-dataplane cilium \ --network-plugin azure \ --network-plugin-mode overlay \ --vnet-subnet-id "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.Network/virtualNetworks/$CUSTOM_VNET_NAME/subnets/$SUBNET_NAME" \ --node-provisioning-mode AutoЧерез несколько минут команда завершается и возвращает информацию о кластере в формате JSON.
Настройте
kubectlдля подключения к вашему кластеру Kubernetes с помощью командыaz aks get-credentials. Эта команда скачивает учетные данные и настраивает интерфейс командной строки Kubernetes для их использования.az aks get-credentials \ --resource-group $RG_NAME \ --name $CLUSTER_NAMEПроверьте подключение к кластеру
kubectl getс помощью команды. Эта команда возвращает список узлов кластера.kubectl get nodes
Дальнейшие шаги
Дополнительные сведения об автоматической подготовке узлов в AKS см. в следующих статьях: