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 Azure Kubernetes Service (AKS)-cluster maakt met NAP (Automatisch inrichten van knooppunten) ingeschakeld in een aangepast virtueel netwerk (VNet). U maakt een VNet en een subnet en verleent vervolgens een beheerde identiteit toegang tot het VNet.

Vereiste voorwaarden

Beperkingen

Omgevingsvariabelen instellen en een resourcegroep maken

  1. Stel de omgevingsvariabelen in die in dit artikel worden gebruikt. Vervang de tijdelijke aanduidingen door uw eigen waarden.

    export SUBSCRIPTION_ID="<subscription-id>"
    export RG_NAME="<resource-group-name>"
    export LOCATION="<location>"
    export VNET_NAME="<vnet-name>"
    export SUBNET_NAME="<subnet-name>"
    export IDENTITY_NAME="<managed-identity-name>"
    export CLUSTER_NAME="<cluster-name>"
    
  2. Selecteer uw Azure-abonnement met behulp van de az account set opdracht.

    az account set --subscription $SUBSCRIPTION_ID
    
  3. Maak een resourcegroep met behulp van de az group create opdracht.

    az group create \
        --name $RG_NAME \
        --location $LOCATION
    

Een virtueel netwerk en een subnet maken

  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 van een knooppunt met behulp van de az network vnet subnet create opdracht.

    az network vnet subnet create \
        --resource-group $RG_NAME \
        --vnet-name $VNET_NAME \
        --name $SUBNET_NAME \
        --address-prefixes 172.19.0.0/24
    

Een beheerde identiteit maken en VNet-machtigingen toewijzen

  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. Gebruik de opdracht om de az identity show principal-id van de beheerde identiteit op te halen en op te slaan in een omgevingsvariabele.

    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. De --assignee-principal-type parameter voorkomt fouten die worden veroorzaakt door replicatievertragingen na het maken van de beheerde identiteit.

    Important

    De rol Inzender voor het netwerk in het VNet-bereik verleent brede machtigingen. Voordat u deze benadering in productie gebruikt, controleert u de RBAC-installatie voor aangepaste subnetconfiguraties en kunt u overwegen om machtigingen voor subnetten binnen het bereik toe te wijzen.

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

NAP inschakelen en verbinding maken met het cluster

Gebruik de beheerde identiteit, het VNet en het knooppuntsubnet dat u in de vorige secties hebt gemaakt. Het cluster moet een Standard Load Balancer gebruiken, zoals beschreven in Beperkingen.

  1. Maak een AKS-cluster waarvoor NAP is ingeschakeld in uw aangepaste VNet met behulp van de az aks create opdracht. In de volgende tabel worden de NAP- en netwerkparameters beschreven die in de opdracht worden gebruikt:

    Parameter Waarde Description
    --node-provisioning-mode Auto Hiermee schakelt u NAP in op het cluster.
    --network-plugin azure Gebruikt Azure CNI voor clusternetwerken.
    --network-plugin-mode overlay Gebruikt Azure CNI-overlay voor podnetwerken.
    --network-dataplane cilium Maakt gebruik van het gegevensvlak Cilium.

    Zie Overzicht van netwerkconfiguraties voor automatische inrichting van knooppunten (NAP) in Azure Kubernetes Service (AKS) voor meer informatie.

    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/$VNET_NAME/subnets/$SUBNET_NAME" \
        --node-provisioning-mode Auto \
        --generate-ssh-keys
    

    Wanneer het maken van het cluster is voltooid, retourneert de opdracht JSON-geformatteerde informatie over het cluster.

  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: