Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como criar uma rede virtual (VNet) e uma sub-rede, criar uma identidade gerenciada com permissões para acessar a VNet e criar um cluster AKS (Azure Kubernetes Service) em sua VNet personalizada com o provisionamento automático de nó (NAP) habilitado.
Pré-requisitos
- Uma assinatura do Azure. Se você não tiver uma, poderá criar uma conta gratuita.
- Versão da CLI
2.76.0do Azure ou posterior. Para saber qual é a versão, executeaz --version. Para obter informações sobre como instalar ou atualizar a CLI do Azure, confira Instalar a CLI do Azure. - Leia o artigo Visão Geral do provisionamento automático de nós (NAP) no AKS, que detalha como o NAP funciona.
- Leia a visão geral das configurações de rede para NAP (provisionamento automático de nós) no AKS (Serviço de Kubernetes do Azure).
Limitações
- Ao criar um cluster NAP em uma VNet (rede virtual personalizada), você deve usar um Load Balancer Standard. Não há suporte para o Load Balancer Básico.
- Para examinar outras limitações e recursos sem suporte para NAP, consulte a Visão geral do NAP (provisionamento automático de nós) no artigo do AKS .
Criar a rede virtual e a sub-rede
Importante
Ao usar uma VNet personalizada com NAP, tenha em mente as seguintes informações:
- Você deve criar e delegar uma sub-rede de servidor de API para
Microsoft.ContainerService/managedClusters, o que concede permissões para o serviço AKS injetar os pods do servidor de API e o balanceador de carga interno nessa sub-rede. Você não pode usar a sub-rede para outras cargas de trabalho, mas pode usá-la para vários clusters do AKS localizados na mesma VNet. O tamanho mínimo de sub-rede do servidor de API com suporte é /28. - Todo o tráfego dentro da VNet é permitido por padrão. No entanto, se você adicionou regras de NSG (grupo de segurança de rede) para restringir o tráfego entre sub-redes diferentes, será necessário garantir que você configure as permissões adequadas. Para obter mais informações, consulte a documentação do grupo de segurança de rede.
Crie uma VNet usando o
az network vnet createcomando.az network vnet create \ --name $VNET_NAME \ --resource-group $RG_NAME \ --location $LOCATION \ --address-prefixes 172.19.0.0/16Crie uma sub-rede usando o
az network vnet subnet createcomando e delega-a paraMicrosoft.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
Criar uma identidade gerenciada e conceder permissões para acessar a VNet
Crie uma identidade gerenciada usando o comando
az identity create.az identity create \ --resource-group $RG_NAME \ --name $IDENTITY_NAME \ --location $LOCATIONObtenha a ID principal da identidade gerenciada e defina-a como uma variável de ambiente usando o comando [
az identity show][az-identity-show].IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)Atribua a função Colaborador de Rede à identidade gerenciada usando o
az role assignment createcomando.az role assignment create \ --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME" \ --role "Network Contributor" \ --assignee $IDENTITY_PRINCIPAL_ID
Criar um cluster do AKS com provisionamento automático de nó (NAP) em uma VNet personalizada
Crie um cluster do AKS com NAP habilitado em sua VNet personalizada usando o
az aks createcomando. Para habilitar o NAP, defina o flag--node-provisioning-modecomoAuto.O comando a seguir também define
--network-plugincomoazure,--network-plugin-modecomooverlaye--network-dataplanecomocilium. Para obter mais informações sobre as configurações de rede compatíveis com o NAP, consulte Configurar a rede para provisionamento automático de nós no 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 AutoApós alguns minutos, o comando será concluído e retornará informações no formato JSON sobre o cluster.
Configure o
kubectlpara se conectar ao cluster do Kubernetes usando o comandoaz aks get-credentials. Este comando baixa as credenciais e configura a CLI do Kubernetes para usá-las.az aks get-credentials \ --resource-group $RG_NAME \ --name $CLUSTER_NAMEVerifique a conexão com o cluster usando o comando
kubectl get. Esse comando retorna uma lista dos nós de cluster.kubectl get nodes
Próximas etapas
Para obter mais informações sobre o provisionamento automático de nós no AKS, consulte os seguintes artigos: