Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article vous montre comment créer un cluster Azure Kubernetes Service (AKS) avec l’approvisionnement automatique de nœud (NAP) activé dans un réseau virtuel personnalisé. Vous créez un réseau virtuel et un sous-réseau, puis accordez un accès d’identité managée au réseau virtuel.
Prerequisites
- Un abonnement Azure. Si vous n’en avez pas, vous pouvez créer un compte gratuit.
- Version
2.76.0d’Azure CLI ou ultérieure. Pour connaître la version, exécutezaz --version. Pour plus d'informations sur l'installation ou la mise à niveau de l’interface de ligne de commande Azure, consultez Installer Azure CLI. - Un environnement Bash, tel que Azure Cloud Shell. Si vous exécutez les commandes localement, connectez-vous à l’aide de la
az logincommande. - Client de ligne de commande Kubernetes.
kubectlkubectlest déjà installé dans Azure Cloud Shell. Pour l’installer localement, utilisez laaz aks install-clicommande. -
Microsoft.Authorization/roleAssignments/writeautorisation, telle que le rôle Access Control Administrateur basé sur les rôles, pour attribuer le rôle Contributeur réseau. - Connaissance des concepts décrits dans Vue d’ensemble de l’approvisionnement automatique de nœuds (NAP) dans AKS et vue d’ensemble des configurations réseau pour l’approvisionnement automatique de nœud (NAP) dans Azure Kubernetes Service (AKS).
Limites
- Lors de la création d’un cluster NAP dans un réseau virtuel personnalisé, vous devez utiliser un équilibreur de charge standard. L’équilibreur de charge Basic n’est pas pris en charge.
- Pour passer en revue d’autres limitations et fonctionnalités non prises en charge pour NAP, consultez l’article Vue d’ensemble de l’approvisionnement automatique de nœuds (NAP) dans l’article AKS .
Définir des variables d’environnement et créer un groupe de ressources
Définissez les variables d’environnement utilisées dans cet article. Remplacez les valeurs des espaces réservés par vos propres valeurs.
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>"Sélectionnez votre abonnement Azure à l’aide de la
az account setcommande.az account set --subscription $SUBSCRIPTION_IDCréez un groupe de ressources à l’aide de la commande
az group create.az group create \ --name $RG_NAME \ --location $LOCATION
Créer un réseau virtuel et un sous-réseau
Créez un réseau virtuel à l’aide de la
az network vnet createcommande.az network vnet create \ --name $VNET_NAME \ --resource-group $RG_NAME \ --location $LOCATION \ --address-prefixes 172.19.0.0/16Créez un sous-réseau de nœud à l’aide de la
az network vnet subnet createcommande.az network vnet subnet create \ --resource-group $RG_NAME \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --address-prefixes 172.19.0.0/24
Créer une identité managée et attribuer des autorisations de réseau virtuel
Créez une identité managée à l’aide de la commande
az identity create.az identity create \ --resource-group $RG_NAME \ --name $IDENTITY_NAME \ --location $LOCATIONUtilisez la commande pour obtenir l’ID
az identity showprincipal de l’identité managée et l’enregistrer dans une variable d’environnement.IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)Attribuez le rôle Contributeur réseau à l’identité managée à l’aide de la
az role assignment createcommande. Le--assignee-principal-typeparamètre empêche les échecs causés par les retards de réplication après la création de l’identité managée.Important
Le rôle Contributeur de réseau au niveau de l’étendue du réseau virtuel accorde des autorisations étendues. Avant d’utiliser cette approche en production, passez en revue la configuration RBAC pour les configurations de sous-réseau personnalisées et envisagez d’attribuer des autorisations de sous-réseau délimitées.
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
Activer NAP et se connecter au cluster
Utilisez l’identité managée, le réseau virtuel et le sous-réseau de nœud que vous avez créés dans les sections précédentes. Le cluster doit utiliser un Standard Load Balancer, comme décrit dans Limitations.
Créez un cluster AKS avec NAP activé dans votre réseau virtuel personnalisé à l’aide de la
az aks createcommande. Le tableau suivant décrit les paramètres NAP et réseau utilisés dans la commande :Paramètre Valeur Description --node-provisioning-modeAutoActive NAP sur le cluster. --network-pluginazureUtilise Azure CNI pour la mise en réseau de cluster. --network-plugin-modeoverlayUtilise Azure superposition CNI pour la mise en réseau des pods. --network-dataplaneciliumUtilise le plan de données Cilium. Pour plus d’informations, consultez Vue d’ensemble des configurations de mise en réseau pour le provisionnement automatique de nœuds (NAP) dans 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-keysUne fois la création du cluster terminée, la commande retourne des informations au format JSON sur le cluster.
Configurez
kubectlafin de vous connecter à votre cluster Kubernetes avec la commandeaz aks get-credentials. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.az aks get-credentials \ --resource-group $RG_NAME \ --name $CLUSTER_NAMEPour vérifier la connexion à votre cluster, exécutez la commande
kubectl get. Cette commande renvoie la liste des nœuds de cluster.kubectl get nodes
Étapes suivantes
Pour plus d’informations sur le provisionnement automatique de nœuds dans AKS, consultez les articles suivants :
- Vue d’ensemble des configurations réseau pour l’approvisionnement automatique de nœuds (NAP) dans Azure Kubernetes Service (AKS)
- Configurer des pools de nœuds pour l’approvisionnement automatique de nœuds sur AKS
- Configurer des stratégies d’interruption pour l’approvisionnement automatique de nœud sur AKS