Partilhar via


Criar um cluster de provisionamento automático de nós numa rede virtual personalizada no Serviço Kubernetes do Azure (AKS)

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 do Serviço Kubernetes do Azure (AKS) em sua VNet personalizada com o provisionamento automático de nó (NAP) habilitado.

Pré-requisitos

Limitações

Criar uma rede virtual e uma 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 do servidor API ao Microsoft.ContainerService/managedClusters, que concede ao serviço AKS permissões para injetar os pods do servidor 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 AKS localizados na mesma VNet. O tamanho mínimo suportado da sub-rede do servidor API é /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, precisará garantir que você configure as permissões adequadas. Para obter mais informações, consulte a documentação do grupo de segurança de rede.
  1. Crie uma VNet usando o az network vnet create comando.

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. Crie uma sub-rede usando o az network vnet subnet create comando e delegue-a ao 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
    

Criar uma identidade gerenciada e dar-lhe permissões para acessar a rede virtual

  1. Crie uma identidade gerenciada usando o az identity create comando.

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. Obtenha o ID principal da identidade gerenciada e defina-o 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)
    
  3. Atribua a função de Colaborador de Rede à identidade gerenciada usando o az role assignment create comando.

    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 AKS com o provisionamento automático de nós (NAP) em uma VNet personalizada

  1. Crie um cluster AKS com NAP ativada em sua VNet personalizada usando o az aks create comando. Certifique-se de definir o sinalizador --node-provisioning-mode para Auto para ativar o NAP.

    O comando a seguir também define --network-plugin como azure, --network-plugin-mode como overlay, e --network-dataplane como cilium. Para obter mais informações sobre configurações de rede suportadas com NAP, consulte Configurar rede para provisionamento automático de nó 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 Auto
    

    Após alguns minutos, o comando conclui e retorna informações formatadas em JSON sobre o cluster.

  2. Configure kubectl para se conectar ao cluster do Kubernetes usando o az aks get-credentials comando. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. Verifique a conexão ao seu cluster utilizando o comando kubectl get. Este comando devolve uma lista dos nodes do cluster.

    kubectl get nodes
    

Próximos passos

Para obter mais informações sobre o provisionamento automático de nós no AKS, consulte os seguintes artigos: