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 aide à déployer un cluster AKS basé sur une liaison privée. Si vous souhaitez créer un cluster AKS sans liaison privée ou tunnel requis, consultez Créer un cluster Azure Kubernetes Service (AKS) avec l’intégration du réseau virtuel du serveur d’API.
Vue d’ensemble des clusters privés dans AKS
Dans un cluster privé, le plan de contrôle ou le serveur d’API a des adresses IP internes définies dans le document RFC1918 - Allocation d’adresses pour le document Internet privé . En utilisant un cluster privé, vous pouvez vous assurer que le trafic réseau entre votre serveur d’API et vos pools de nœuds reste uniquement sur le réseau privé.
Le plan de contrôle ou le serveur d’API se trouve dans un groupe de ressources Azure géré par AKS, et votre cluster ou groupe de nœuds se trouve dans votre groupe de ressources. Le serveur et le pool de nœuds peuvent communiquer entre eux via le service Azure Private Link dans le réseau virtuel du serveur d’API et un point de terminaison privé exposé sur le sous-réseau de votre cluster AKS.
Lorsque vous créez un cluster AKS privé, AKS crée des noms de domaine complets privés et publics (FQDN) avec des zones DNS correspondantes par défaut. Pour obtenir des options de configuration DNS détaillées, consultez Configurer une zone DNS privée, une sous-zone DNS privée ou un sous-domaine personnalisé.
Disponibilité des régions
Les clusters privés sont disponibles dans les régions publiques, Azure Government et Microsoft Azure gérés par les régions 21Vianet où AKS est pris en charge.
Conditions préalables pour les clusters AKS privés
- Azure CLI version 2.28.0 ou ultérieure. Exécutez
az --versionpour rechercher la version, puis exécutezaz upgradepour mettre à niveau la version. Si vous avez besoin d’installer ou de mettre à niveau, consultez Installer Azure CLI. - Si vous utilisez Azure Resource Manager (ARM) ou l’API REST Azure, la version de l’API AKS doit être 2021-05-01 ou ultérieure.
- Pour utiliser un serveur DNS personnalisé, ajoutez l’adresse IP publique Azure 168.63.129.16 comme serveur DNS en amont dans le serveur DNS personnalisé et veillez à ajouter cette adresse IP publique comme premier serveur DNS. Pour plus d’informations sur l’adresse IP Azure, voir Qu'est-ce que l'adresse IP 168.63.129.16 ?
- La zone DNS du cluster doit être celle que vous transférez à 168.63.129.16. Vous trouverez plus d’informations sur les noms de zones dans la configuration de la zone DNS des services Azure.
- Les clusters AKS existants activés avec l’intégration au réseau virtuel du serveur d’API peuvent avoir le mode cluster privé activé. Pour plus d’informations, consultez Activer ou désactiver le mode cluster privé sur un cluster existant avec l’intégration du réseau virtuel du serveur d’API.
Important
Depuis le 30 novembre 2025, Azure Kubernetes Service (AKS) ne prend plus en charge ou fournit des mises à jour de sécurité pour Azure Linux 2.0. L’image de nœud Azure Linux 2.0 est figée à la version 202512.06.0. À compter du 31 mars 2026, les images de nœud seront supprimées et vous ne pourrez pas mettre à l’échelle vos pools de nœuds. Migrez vers une version Azure Linux prise en charge en mettant à niveau vos pools de nœuds vers une version Kubernetes prise en charge ou en migrant vers osSku AzureLinux3. Pour plus d’informations, consultez [Retrait] Pools de nœuds Azure Linux 2.0 sur AKS.
Limitations et considérations relatives aux clusters AKS privés
- Vous ne pouvez pas appliquer de plages d’adresses IP autorisées au point de terminaison du serveur d’API privé. Elles s’appliquent uniquement au serveur d’API public.
- Les limitations du service Azure Private Link s’appliquent aux clusters privés.
- Les agents hébergés par Microsoft Azure DevOps avec des clusters privés ne sont pas pris en charge. Envisagez d’utiliser des agents auto-hébergés.
- Si vous devez activer Azure Container Registry sur un cluster AKS privé, configurez une liaison privée pour le registre de conteneurs dans le réseau virtuel de cluster ou configurez le peering entre le réseau virtuel du registre de conteneurs et le réseau virtuel du cluster privé.
- La suppression ou la modification du point de terminaison privé dans le sous-réseau du client entraîne l’arrêt du cluster.
- Le service Azure Private Link est pris en charge seulement sur Azure Load Balancer Standard. Azure Load Balancer De base n’est pas pris en charge.
Hub and spoke avec DNS personnalisée pour les clusters AKS privés
Les architectures hub-and-spoke sont couramment utilisées pour déployer des réseaux dans Azure. Dans la plupart de ces déploiements, les paramètres DNS des réseaux virtuels spoke sont configurés pour faire référence à un redirecteur DNS central afin d’autoriser la résolution DNS locale et basée sur Azure.
Gardez à l’esprit les considérations suivantes lors du déploiement de clusters AKS privés dans des architectures hub-and-spoke avec dns personnalisé :
Lorsqu’un cluster privé est créé, un point de terminaison privé (1) et une zone DNS privée (2) sont créés dans le groupe de ressources géré par cluster par défaut. Le cluster utilise un enregistrement
Adans la zone privée pour résoudre l’adresse IP du point de terminaison privé pour la communication avec le serveur d’API.La zone DNS privée est liée uniquement au réseau virtuel auquel les nœuds de cluster sont attachés (3), ce qui signifie que le point de terminaison privé ne peut être résolu que par les hôtes de ce réseau virtuel lié. Dans les scénarios où aucun DNS personnalisé n'est configuré sur le réseau virtuel (par défaut), cela fonctionne sans problème car les hôtes pointent vers 168.63.129.16 pour le DNS qui peut résoudre les enregistrements dans la zone DNS privée grâce à la connexion.
Si vous conservez le comportement de zone DNS privée par défaut, AKS tente de lier la zone directement au réseau virtuel spoke qui héberge le cluster même si la zone est déjà liée à un réseau virtuel hub.
Dans les réseaux virtuels spoke qui utilisent des serveurs DNS personnalisés, cette action peut échouer si l’identité managée du cluster ne dispose pas du contributeur réseau sur le réseau virtuel spoke.
Pour éviter l’échec, choisissez l’une des configurations prises en charge suivantes :
-
Zone DNS privée personnalisée : fournissez une zone privée précréée et définissez
privateDNSZone/--private-dns-zoneson ID de ressource. Liez cette zone au réseau virtuel approprié (par exemple, le réseau virtuel hub) et définissezpublicDNSàfalse/ utiliser--disable-public-fqdn. -
DNS public uniquement : désactivez la création de zone privée en définissant
privateDNSZone/--private-dns-zonesurnoneet en laissantpublicDNSà sa valeur par défaut (true) / n’utilisez--disable-public-fqdnpas .
-
Zone DNS privée personnalisée : fournissez une zone privée précréée et définissez
Si vous utilisez votre propre table de routage (BYO) avec kubenet et votre propre DNS avec des clusters privés, la création du cluster échoue. Vous devez associer
RouteTabledans le groupe de ressources du nœud au sous-réseau après l’échec de la création du cluster afin que la création réussisse.
Gardez à l’esprit les limitations suivantes lors de l’utilisation d’un DNS personnalisé avec des clusters AKS privés :
- La configuration de
privateDNSZone/--private-dns-zonesurnoneetpublicDNS: false/--disable-public-fqdnen même temps n’est pas pris en charge. - Le transfert conditionnel ne prend pas en charge les sous-domaines.
Créer un cluster AKS privé avec mise en réseau de base par défaut
Créez un groupe de ressources à l’aide de la commande
az group create. Vous pouvez également utiliser un groupe de ressources existant pour votre cluster AKS.az group create \ --name <private-cluster-resource-group> \ --location <location>Créez un cluster privé avec la mise en réseau de base par défaut à l’aide de la commande
az aks createavec l’indicateur--enable-private-cluster.Paramètres clés dans cette commande :
-
--enable-private-cluster: active le mode de cluster privé.
az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --generate-ssh-keys-
Configurez kubectl pour vous connecter au cluster AKS privé.
Créer un cluster AKS privé avec mise en réseau avancée
Créez un groupe de ressources à l’aide de la commande
az group create. Vous pouvez également utiliser un groupe de ressources existant pour votre cluster AKS.az group create \ --name <private-cluster-resource-group> \ --location <location>Créez un cluster privé avec une mise en réseau avancée à l’aide de la
az aks createcommande.Paramètres clés dans cette commande :
-
--enable-private-cluster: active le mode de cluster privé. -
--network-plugin azure: spécifie le plug-in de mise en réseau Azure CNI. -
--vnet-subnet-id: ID de ressource d’un sous-réseau existant dans un réseau virtuel. -
--dns-service-ip: adresse IP disponible dans la plage d’adresses du service Kubernetes à utiliser pour le service DNS de cluster. -
--service-cidr: plage d’adresses IP de notation CIDR à partir de laquelle attribuer des adresses IP de cluster de service.
az aks create \ --resource-group <private-cluster-resource-group> \ --name <private-cluster-name> \ --load-balancer-sku standard \ --enable-private-cluster \ --network-plugin azure \ --vnet-subnet-id <subnet-id> \ --dns-service-ip 10.2.0.10 \ --service-cidr 10.2.0.0/24 --generate-ssh-keys-
Configurez kubectl pour vous connecter au cluster AKS privé.
Utiliser des domaines personnalisés avec des clusters AKS privés
Si vous souhaitez configurer des domaines personnalisés qui ne peuvent être résolus qu’en interne, consultez Utiliser des domaines personnalisés.
Désactiver un nom de domaine complet public sur un cluster AKS privé
Désactiver un nom de domaine complet public sur un nouveau cluster
Désactivez un nom de domaine complet public lors de la création d’un cluster AKS privé à l’aide de la commande
az aks createavec l’indicateur--disable-public-fqdn.az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone <private-dns-zone-mode> \ --disable-public-fqdn \ --generate-ssh-keys
Désactiver un FQDN public sur un cluster existant
Désactivez un FQDN public sur un cluster AKS existant à l’aide de la commande
az aks updateavec l’indicateur--disable-public-fqdn.az aks update \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --disable-public-fqdn
Configurer une zone DNS privée, une sous-zone DNS privée ou un sous-domaine personnalisé pour un cluster AKS privé
Vous pouvez configurer des paramètres DNS privés pour un cluster AKS privé à l’aide d’Azure CLI (avec le --private-dns-zone paramètre) ou d’un modèle Azure Resource Manager (ARM) (avec la privateDNSZone propriété). Le tableau suivant présente les options disponibles pour le --private-dns-zone paramètre/ privateDNSZone propriété :
| Réglage | Descriptif |
|---|---|
system |
Valeur par défaut lors de la configuration d’une zone DNS privée. Si vous omettez --private-dns-zone / privateDNSZone, AKS crée une zone DNS privée dans le groupe de ressources de nœud. |
none |
Si vous définissez --private-dns-zone / privateDNSZone sur none, AKS ne crée pas de zone DNS privée. |
<custom-private-dns-zone-resource-id> |
Pour utiliser ce paramètre, vous devez créer une zone DNS privée au format suivant pour le cloud global Azure : privatelink.<region>.azmk8s.io ou <subzone>.privatelink.<region>.azmk8s.io. Vous avez besoin de l’ID de ressource de la zone DNS privée pour une utilisation ultérieure. Vous avez également besoin d’une identité ou d’un principal de service affecté par l’utilisateur avec les rôles Contributeur de zone DNS privé et Contributeur réseau . Pour les clusters utilisant l’intégration au réseau virtuel du serveur d’API, une zone DNS privée prend en charge le format de nommage de private.<region>.azmk8s.io ou <subzone>.private.<region>.azmk8s.io. Vous ne pouvez pas modifier ou supprimer cette ressource après avoir créé le cluster, car elle peut entraîner des problèmes de performances et des échecs de mise à niveau de cluster. Vous pouvez utiliser --fqdn-subdomain <subdomain> avec<custom-private-dns-zone-resource-id> uniquement pour fournir des fonctionnalités de sous-domaine à privatelink.<region>.azmk8s.io. Si vous spécifiez une sous-zone, il existe une limite de 32 caractères pour le <subzone> nom. |
Gardez à l’esprit les considérations suivantes lors de la configuration du DNS privé pour un cluster AKS privé :
- Si la zone DNS privée se trouve dans un autre abonnement que le cluster AKS, vous devez inscrire le fournisseur Azure
Microsoft.ContainerServicesdans les deux abonnements. - Si votre cluster AKS est configuré avec un principal de service Active Directory, AKS ne prend pas en charge l’utilisation d’une identité managée affectée par le système avec une zone DNS privée personnalisée. Le cluster doit utiliser l’authentification par identité managée déléguée à l’utilisateur.
Créer un cluster AKS privé avec une zone DNS privée
Créez un cluster AKS privé avec une zone DNS privée à l’aide de la
az aks createcommande.Paramètres clés dans cette commande :
-
--enable-private-cluster: active le mode de cluster privé. -
--private-dns-zone [system|none]: configure la zone DNS privée pour le cluster. La valeur par défaut estsystem. -
--assign-identity <resource-id>: ID de ressource d’une identité managée affectée par l’utilisateur avec les rôles Contributeur de zone DNS privé et Contributeur réseau .
az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone [system|none] \ --generate-ssh-keys-
Configurez kubectl pour vous connecter au cluster AKS privé.
Créer un cluster AKS privé avec une zone ou une sous-zone DNS privée personnalisée
Créez un cluster AKS privé avec une zone DNS privée personnalisée ou une sous-zone à l’aide de la
az aks createcommande.Paramètres clés dans cette commande :
-
--enable-private-cluster: active le mode de cluster privé. -
--private-dns-zone <custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>: ID de ressource d’une zone DNS privée ou d’une sous-zone précréée au format suivant pour le cloud global Azure :privatelink.<region>.azmk8s.ioou<subzone>.privatelink.<region>.azmk8s.io. -
--assign-identity <resource-id>: ID de ressource d’une identité managée affectée par l’utilisateur avec les rôles Contributeur de zone DNS privé et Contributeur réseau .
# The custom private DNS zone name should be in the following format: "<subzone>.privatelink.<region>.azmk8s.io" az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone [<custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>] \ --generate-ssh-keys-
Configurez kubectl pour vous connecter au cluster AKS privé.
Créer un cluster AKS privé avec une zone DNS privée personnalisée et un sous-domaine personnalisé
Créez un cluster AKS privé avec une zone DNS privée personnalisée et un sous-domaine à l’aide de la
az aks createcommande.Paramètres clés dans cette commande :
-
--enable-private-cluster: active le mode de cluster privé. -
--private-dns-zone <custom-private-dns-zone-resource-id>: ID de ressource d’une zone DNS privée précréée au format suivant pour le cloud global Azure :privatelink.<region>.azmk8s.io. -
--fqdn-subdomain <subdomain>: le sous-domaine à utiliser pour le FQDN du cluster dans la zone DNS privée personnalisée. -
--assign-identity <resource-id>: ID de ressource d’une identité managée affectée par l’utilisateur avec les rôles Contributeur de zone DNS privé et Contributeur réseau .
# The custom private DNS zone name should be in one of the following formats: "privatelink.<region>.azmk8s.io" or "<subzone>.privatelink.<region>.azmk8s.io" az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone <custom-private-dns-zone-resource-id> \ --fqdn-subdomain <subdomain> \ --generate-ssh-keys-
Configurez kubectl pour vous connecter au cluster AKS privé.
Mettre à jour un cluster AKS privé existant à partir d’une zone DNS privée vers public
Vous pouvez uniquement effectuer une mise à jour à partir de byo (apportez votre propre) ou system vers none. Aucune autre combinaison de valeurs de mise à jour n’est prise en charge.
Avertissement
Lorsque vous mettez à jour un cluster privé de byo ou system vers none, les nœuds de l’agent changent pour utiliser un nom de domaine complet public. Dans un cluster AKS qui utilise Microsoft Azure Virtual Machine Scale Sets, une mise à niveau de l’image de nœud est effectuée pour mettre à jour vos nœuds avec le nom de domaine complet public.
Mettez à jour un cluster privé de
byoousystemànoneen utilisant la commandeaz aks updateavec le paramètre--private-dns-zonedéfini surnone.az aks update \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --private-dns-zone none
Configurer kubectl pour se connecter à un cluster AKS privé
Pour gérer un cluster Kubernetes, utilisez le client de ligne de commande Kubernetes, kubectl.
Si vous utilisez Azure Cloud Shell, kubectl est déjà installé. Pour installer kubectl localement, utilisez la commande az aks install-cli .
Configurez
kubectlpour se connecter à votre cluster Kubernetes à l’aide de 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 <private-cluster-resource-group> --name <private-cluster-name>Vérifiez la connexion à votre cluster à l’aide de la commande
kubectl get. Cette commande renvoie la liste des nœuds de cluster.kubectl get nodesLa commande retourne une sortie similaire à l’exemple de sortie suivant :
NAME STATUS ROLES AGE VERSION aks-nodepool1-12345678-vmss000000 Ready agent 3h6m v1.15.11 aks-nodepool1-12345678-vmss000001 Ready agent 3h6m v1.15.11 aks-nodepool1-12345678-vmss000002 Ready agent 3h6m v1.15.11