Dela via


Skapa ett NAP-kluster (autoetablering av noder) i ett anpassat virtuellt nätverk i Azure Kubernetes Service (AKS)

Den här artikeln visar hur du skapar ett virtuellt nätverk (VNet) och undernät, skapar en hanterad identitet med behörighet att komma åt det virtuella nätverket och skapar ett AkS-kluster (Azure Kubernetes Service) i ditt anpassade virtuella nätverk med nodbaserad automatisk etablering (NAP) aktiverat.

Förutsättningar

Begränsningar

Skapa ett virtuellt nätverk och undernät

Viktigt!

Tänk på följande när du använder ett anpassat virtuellt nätverk med NAP:

  • Du måste skapa och delegera ett API-serverundernät till Microsoft.ContainerService/managedClusters, som ger AKS-tjänsten behörighet att mata in API-serverpoddarna och den interna lastbalanseraren i undernätet. Du kan inte använda undernätet för andra arbetsbelastningar, men du kan använda det för flera AKS-kluster som finns i samma virtuella nätverk. Den minsta api-serverundernätsstorlek som stöds är /28.
  • All trafik i det virtuella nätverket tillåts som standard. Men om du har lagt till regler för nätverkssäkerhetsgrupp (NSG) för att begränsa trafiken mellan olika undernät måste du se till att du konfigurerar rätt behörigheter. Mer information finns i dokumentationen om nätverkssäkerhetsgruppen.
  1. Skapa ett virtuellt az network vnet create nätverk med kommandot .

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. Skapa ett undernät med kommandot az network vnet subnet create och delegera det till 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
    

Skapa en hanterad identitet och ge den behörighet att komma åt det virtuella nätverket

  1. Skapa en hanterad identitet med kommandot az identity create .

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. Hämta huvud-ID:t för den hanterade identiteten och ange den till en miljövariabel med kommandot [az identity show][az-identity-show].

    IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)
    
  3. Tilldela rollen Network Contributor till den hanterade identiteten med hjälp av az role assignment create kommandot.

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

Skapa ett AKS-kluster med automatisk nodetablering (NAP) i ett anpassat VNet

  1. Skapa ett AKS-kluster med NAP aktiverat i ditt anpassade virtuella nätverk med kommandot az aks create . Se till att ange --node-provisioning-mode flaggan till Auto för att aktivera NAP.

    Följande kommando anger --network-plugin också till azure, --network-plugin-mode till overlayoch --network-dataplane till cilium. Mer information om nätverkskonfigurationer som stöds med NAP finns i Konfigurera nätverk för automatisk nodetablering i 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
    

    Efter några minuter slutförs kommandot och returnerar JSON-formaterad information om klustret.

  2. Konfigurera kubectl för att ansluta till kubernetes-klustret med hjälp av az aks get-credentials kommandot . Det här kommandot laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. Kontrollera anslutningen till klustret med hjälp av kubectl get kommandot . Det här kommandot returnerar en lista över klusternoderna.

    kubectl get nodes
    

Nästa steg

Mer information om automatisk nodetablering i AKS finns i följande artiklar: