Delen via


Een cluster voor node automatische voorziening (NAP) maken in een aangepast virtueel netwerk in Azure Kubernetes Service (AKS)

In dit artikel wordt beschreven hoe u een virtueel netwerk (VNet) en subnet maakt, een beheerde identiteit maakt met machtigingen voor toegang tot het VNet en hoe u een AKS-cluster (Azure Kubernetes Service) maakt in uw aangepaste VNet, waarbij automatisch inrichten van knooppunten (NAP) is ingeschakeld.

Vereiste voorwaarden

Beperkingen

Een virtueel netwerk en een subnet maken

Belangrijk

Houd bij het gebruik van een aangepast VNet met NAP rekening met de volgende informatie:

  • U moet een subnet voor de API-server aanmaken en delegeren aan Microsoft.ContainerService/managedClusters, zodat de AKS-service toestemming krijgt om de API-serverpods en de interne load balancer in dat subnet te injecteren. U kunt het subnet niet gebruiken voor andere workloads, maar u kunt het gebruiken voor meerdere AKS-clusters die zich in hetzelfde VNet bevinden. De minimaal ondersteunde subnetgrootte van de API-server is /28.
  • Al het verkeer binnen het VNet is standaard toegestaan. Als u echter NSG-regels (netwerkbeveiligingsgroep) hebt toegevoegd om verkeer tussen verschillende subnetten te beperken, moet u ervoor zorgen dat u de juiste machtigingen configureert. Zie de documentatie van de netwerkbeveiligingsgroep voor meer informatie.
  1. Maak een VNet met behulp van de az network vnet create opdracht.

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. Maak een subnet met behulp van de az network vnet subnet create opdracht en delegeer het naar 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
    

Een beheerde identiteit maken en deze machtigingen geven voor toegang tot het VNet

  1. Maak een beheerde identiteit met behulp van de az identity create opdracht.

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. Haal de principal-id van de beheerde identiteit op en stel deze in op een omgevingsvariabele met behulp van de opdracht [az identity show][az-identity-show].

    IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)
    
  3. Wijs de rol Inzender voor het netwerk toe aan de beheerde identiteit met behulp van de az role assignment create opdracht.

    az role assignment create \
        --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME" \
        --role "Network Contributor" \
        --assignee $IDENTITY_PRINCIPAL_ID
    

Een AKS-cluster maken met automatisch knooppuntinrichting (NAP) in een aangepaste VNet

  1. Maak een AKS-cluster waarvoor NAP is ingeschakeld in uw aangepaste VNet met behulp van de az aks create opdracht. Zorg ervoor dat u de --node-provisioning-mode-indicator instelt op Auto om NAP in te schakelen.

    Met de volgende opdracht wordt ook ingesteld --network-plugin op azure, --network-plugin-mode op overlay, en --network-dataplane op cilium. Zie voor meer informatie over netwerkconfiguraties die door NAP worden ondersteund, Netwerken configureren voor automatische inrichting van knooppunten in 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
    

    Na enkele minuten is de opdracht voltooid en retourneert deze informatie over het cluster in JSON-indeling.

  2. Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van het az aks get-credentials commando. Bij deze opdracht worden inloggegevens gedownload en wordt de Kubernetes CLI geconfigureerd om deze te gebruiken.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. Controleer de verbinding met uw cluster met behulp van de kubectl get opdracht. Met deze opdracht wordt een lijst met de clusterknooppunten geretourneerd.

    kubectl get nodes
    

Volgende stappen

Zie de volgende artikelen voor meer informatie over automatische inrichting van knooppunten in AKS: