Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du skapar ett Azure Kubernetes Service (AKS) kluster med nodbaserad automatisk etablering (NAP) aktiverat i ett anpassat virtuellt nätverk (VNet). Du skapar ett virtuellt nätverk och undernät och beviljar sedan en hanterad identitet åtkomst till det virtuella nätverket.
Förutsättningar
- Ett Azure-abonnemang. Om du inte har ett konto kan du skapa ett kostnadsfritt konto.
- Azure CLI-version
2.76.0eller senare. Köraz --versionför att hitta versionen. Mer information om hur du installerar eller uppgraderar Azure CLI finns i Installera Azure CLI. - En Bash-miljö, till exempel Azure Cloud Shell. Om du kör kommandona lokalt loggar du in med kommandot
az login. - Kommandoradsklienten Kubernetes,
kubectl.kubectlredan har installerats i Azure Cloud Shell. Om du vill installera det lokalt använder duaz aks install-clikommandot . -
Microsoft.Authorization/roleAssignments/writebehörighet, till exempel rollen Rollbaserad Access Control administratör, för att tilldela rollen Nätverksdeltagare. - Kunskaper om begreppen som beskrivs i Översikt över automatisk etablering av noder (NAP) i AKS och Översikt över nätverkskonfigurationer för automatisk nodetablering (NAP) i Azure Kubernetes Service (AKS).
Begränsningar
- När du skapar ett NAP-kluster i ett anpassat virtuellt nätverk (VNet) måste du använda en Standard Load Balancer. Basic Load Balancer stöds inte.
- Om du vill granska andra begränsningar och funktioner som inte stöds för NAP kan du läsa artikeln Översikt över automatisk etablering av noder (NAP) i AKS .
Ange miljövariabler och skapa en resursgrupp
Ange de miljövariabler som används i hela den här artikeln. Ersätt platshållarvärdena med dina egna värden.
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>"Välj din Azure prenumeration med kommandot
az account set.az account set --subscription $SUBSCRIPTION_IDSkapa en resursgrupp med kommandot
az group create.az group create \ --name $RG_NAME \ --location $LOCATION
Skapa ett virtuellt nätverk och undernät
Skapa ett virtuellt
az network vnet createnätverk med kommandot .az network vnet create \ --name $VNET_NAME \ --resource-group $RG_NAME \ --location $LOCATION \ --address-prefixes 172.19.0.0/16Skapa ett nodundernät med kommandot
az network vnet subnet create.az network vnet subnet create \ --resource-group $RG_NAME \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --address-prefixes 172.19.0.0/24
Skapa en hanterad identitet och tilldela VNet-behörigheter
Skapa en hanterad identitet med kommandot
az identity create.az identity create \ --resource-group $RG_NAME \ --name $IDENTITY_NAME \ --location $LOCATIONaz identity showAnvänd kommandot för att hämta den hanterade identitetens huvud-ID och spara det i en miljövariabel.IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)Tilldela rollen Nätverksdeltagare till den hanterade identiteten
az role assignment createmed kommandot . Parametern--assignee-principal-typeförhindrar fel som orsakas av replikeringsfördröjningar när den hanterade identiteten har skapats.Important
Rollen Nätverksdeltagare i VNet-omfånget ger breda behörigheter. Innan du använder den här metoden i produktion bör du granska RBAC-konfigurationen för anpassade undernätskonfigurationer och överväga att tilldela begränsade undernätsbehörigheter.
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
Aktivera NAP och anslut till klustret
Använd undernätet för hanterad identitet, VNet och nod som du skapade i föregående avsnitt. Klustret måste använda en Standard Load Balancer enligt beskrivningen i Begränsningar.
Skapa ett AKS-kluster med NAP aktiverat i ditt anpassade virtuella nätverk med kommandot
az aks create. I följande tabell beskrivs nap- och nätverksparametrarna som används i kommandot:Parameter Value Description --node-provisioning-modeAutoAktiverar NAP i klustret. --network-pluginazureAnvänder Azure CNI för klusternätverk. --network-plugin-modeoverlayAnvänder Azure CNI-överlägg för poddnätverk. --network-dataplaneciliumAnvänder dataplanet Cilium. Mer information finns i Översikt över nätverkskonfigurationer för automatisk etablering av noder (NAP) i Azure Kubernetes Service (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/$VNET_NAME/subnets/$SUBNET_NAME" \ --node-provisioning-mode Auto \ --generate-ssh-keysNär klustret har skapats returnerar kommandot JSON-formaterad information om klustret.
Konfigurera
kubectlför att ansluta till kubernetes-klustret med hjälp avaz aks get-credentialskommandot . 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_NAMEKontrollera anslutningen till klustret med hjälp av
kubectl getkommandot . 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: