Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
- Een Azure-abonnement. Als u nog geen account hebt, kunt u een gratis account aanmaken.
- Azure CLI-versie
2.76.0of hoger. Voeraz --versionuit om de versie te vinden. Zie Azure CLI installeren voor meer informatie over het installeren of upgraden van de Azure CLI. - Een Bash-omgeving, zoals Azure Cloud Shell. Als u de opdrachten lokaal uitvoert, meldt u zich aan met de
az loginopdracht. - De Kubernetes-opdrachtregelclient,
kubectl.kubectlis al geïnstalleerd in Azure Cloud Shell. Gebruik deaz aks install-cliopdracht om deze lokaal te installeren. -
Microsoft.Authorization/roleAssignments/writemachtiging, zoals de rol Op basis van rollen Access Control Administrator, om de rol Inzender voor het netwerk toe te wijzen. - Bekendheid met de concepten die worden beschreven in Overview of node auto-provisioning (NAP) in AKS and Overview of networking configurations for node auto-provisioning (NAP) in Azure Kubernetes Service (AKS).
Beperkingen
- Wanneer u een NAP-cluster maakt in een aangepast virtueel netwerk (VNet), moet u een Standard Load Balancer gebruiken. De Basic Load Balancer wordt niet ondersteund.
- Als u andere beperkingen en niet-ondersteunde functies voor NAP wilt bekijken, raadpleegt u het artikel Overzicht van automatische inrichting van knooppunten (NAP) in AKS .
Omgevingsvariabelen instellen en een resourcegroep maken
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>"Selecteer uw Azure-abonnement met behulp van de
az account setopdracht.az account set --subscription $SUBSCRIPTION_IDMaak een resourcegroep met behulp van de
az group createopdracht.az group create \ --name $RG_NAME \ --location $LOCATION
Een virtueel netwerk en een subnet maken
Maak een VNet met behulp van de
az network vnet createopdracht.az network vnet create \ --name $VNET_NAME \ --resource-group $RG_NAME \ --location $LOCATION \ --address-prefixes 172.19.0.0/16Maak een subnet van een knooppunt met behulp van de
az network vnet subnet createopdracht.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
Maak een beheerde identiteit met behulp van de
az identity createopdracht.az identity create \ --resource-group $RG_NAME \ --name $IDENTITY_NAME \ --location $LOCATIONGebruik de opdracht om de
az identity showprincipal-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)Wijs de rol Inzender voor het netwerk toe aan de beheerde identiteit met behulp van de
az role assignment createopdracht. De--assignee-principal-typeparameter 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.
Maak een AKS-cluster waarvoor NAP is ingeschakeld in uw aangepaste VNet met behulp van de
az aks createopdracht. In de volgende tabel worden de NAP- en netwerkparameters beschreven die in de opdracht worden gebruikt:Parameter Waarde Description --node-provisioning-modeAutoHiermee schakelt u NAP in op het cluster. --network-pluginazureGebruikt Azure CNI voor clusternetwerken. --network-plugin-modeoverlayGebruikt Azure CNI-overlay voor podnetwerken. --network-dataplaneciliumMaakt 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-keysWanneer het maken van het cluster is voltooid, retourneert de opdracht JSON-geformatteerde informatie over het cluster.
Configureer
kubectlom verbinding te maken met uw Kubernetes-cluster met behulp van hetaz aks get-credentialscommando. 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_NAMEControleer de verbinding met uw cluster met behulp van de
kubectl getopdracht. 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: