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 explique comment identifier et résoudre l’erreur OutboundConnFailVMExtensionError (également appelée code ERR_OUTBOUND_CONN_FAILd’erreur , numéro d’erreur 50) qui peut se produire si vous créez, démarrez, mettez à l’échelle ou mettez à niveau un cluster Microsoft Azure Kubernetes Service (AKS).
Prerequisites
Symptoms
Lorsque vous essayez de créer, mettre à l’échelle ou mettre à niveau un cluster AKS, vous pouvez recevoir le message d’erreur suivant :
Impossible d’établir une connexion sortante à partir d’agents, consultez https://aka.ms/aks-required-ports-and-addresses pour plus d’informations.
Détails : Code="VMExtensionProvisioningError »
Message= » La machine virtuelle a signalé un échec lors du traitement de l’extension « vmssCSE ».
Message d’erreur : « Échec de l’activation : échec de l’exécution de la commande : la commande s’est terminée avec exit status=50\n[stdout]\n\n[stderr]\nnc : connexion mcr.microsoft.com au port 443 (tcp) a échoué : délai d’attente de connexion\nCommand quitté avec un état non nul
Détails de l’erreur : « messages d’erreur vmssCSE : {vmssCSE exit status=50, output=pt/apt.conf.d/95proxy...}
Cette erreur peut également entraîner l’échec de vos nœuds en cours d’exécution ou provoquer des échecs d’extraction d’images, car la connectivité sortante est bloquée à partir de certains ou de tous les nœuds de votre cluster.
Cause
L’extension de script personnalisé qui télécharge les composants nécessaires pour approvisionner les nœuds n’a pas pu établir la connectivité sortante nécessaire pour obtenir des packages. Pour les clusters publics, les nœuds tentent de communiquer avec le point de terminaison Microsoft Container Registry (mcr.microsoft.comMCR) sur le port 443.
Il existe de nombreuses raisons pour lesquelles le trafic sortant peut être bloqué. La meilleure façon de résoudre les défaillances de connectivité sortante consiste à exécuter une analyse de connectivité avec Le vérificateur de réseau virtuel Azure (préversion) . En exécutant une analyse de connectivité, vous pouvez visualiser les tronçons au sein du flux de trafic et toutes les configurations incorrectes dans les ressources réseau Azure qui bloquent le trafic. Pour résoudre manuellement les échecs de connectivité sortante, vous pouvez utiliser le protocole SSH (Secure Shell) pour vous connecter au nœud. Cette section décrit les instructions pour les deux types d’enquêtes :
Vérifier si les ressources réseau Azure bloquent le trafic vers le point de terminaison
Pour déterminer si le trafic est bloqué vers le point de terminaison en raison de ressources réseau Azure, exécutez une analyse de connectivité de vos nœuds de cluster AKS vers le point de terminaison à l’aide de l’outil Azure Virtual Network Verifier (préversion). L’analyse de connectivité couvre les ressources suivantes :
- Azure Load Balancer (répartiteur de charge Azure)
- Azure Firewall
- Passerelle NAT (Network Address Translation)
- Groupe de sécurité réseau (NSG)
- Stratégie réseau
- Itinéraires définis par l’utilisateur (tables de routage)
- Peering de réseau virtuel
Note
Azure Virtual Network Verifier (aperçu) ne peut pas accéder à des ressources réseau externes ou d’autres fournisseurs, telles qu’un pare-feu personnalisé. Si l’analyse de connectivité ne détecte aucun trafic bloqué, nous vous recommandons d’effectuer une vérification manuelle de n’importe quel réseau externe pour couvrir tous les tronçons du flux de trafic.
Actuellement, les clusters utilisant la superposition Azure CNI ne sont pas pris en charge pour cette fonctionnalité. La prise en charge du CNI Overlay est prévue pour août 2025.
- Accédez à votre cluster sur le Portail Azure. Dans la barre latérale, accédez au volet "Pool de nœuds" des Paramètres ->.
- Identifiez le pool de nœuds à partir duquel vous souhaitez exécuter une analyse de connectivité. Cliquez sur le pool de nœuds pour le sélectionner comme périmètre.
- Sélectionnez « Analyse de la connectivité (préversion) » dans la barre d’outils en haut de la page. Si vous ne le voyez pas, cliquez sur les trois points « ... » dans la barre d’outils en haut de la page pour ouvrir le menu développé.
- Sélectionnez une instance du groupe de machines virtuelles (VMSS) comme source. Les adresses IP sources sont remplies automatiquement.
- Sélectionnez un nom/point de terminaison de domaine public comme destination pour l’analyse, un exemple est
mcr.microsoft.com. Les adresses IP de destination sont également remplies automatiquement. - Exécutez l’analyse et attendez jusqu’à 2 minutes pour les résultats. Dans le diagramme résultant, identifiez les ressources réseau Azure associées et où le trafic est bloqué. Pour afficher la sortie d’analyse détaillée, cliquez sur l’onglet « Sortie JSON » ou cliquez sur les flèches du diagramme.
Résolution manuelle des problèmes
Si l’outil Azure Virtual Network Verifier (préversion) ne fournit pas suffisamment d’informations sur le problème, vous pouvez résoudre manuellement les problèmes de connectivité sortante à l’aide du protocole SSH (Secure Shell) pour vous connecter au nœud. Pour établir la connexion, suivez les instructions de connexion aux nœuds de cluster Azure Kubernetes Service (AKS) pour la maintenance ou la résolution des problèmes. Ensuite, testez la connectivité sur le cluster en procédant comme suit :
Après vous être connecté au nœud, exécutez les
nccommandes etdigles commandes :nc -vz mcr.microsoft.com 443 dig mcr.microsoft.com 443Note
Si vous ne pouvez pas accéder au nœud via SSH, vous pouvez tester la connectivité sortante en exécutant la commande az vmss run-command invoke sur l’instance virtual Machine Scale Set :
# Get the VMSS instance IDs. az vmss list-instances --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --output table # Use an instance ID to test outbound connectivity. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "nc -vz mcr.microsoft.com 443"Si vous essayez de créer un cluster AKS à l’aide d’un proxy HTTP, exécutez les commandes et
nccurllesdigcommandes après vous être connecté au nœud :# Test connectivity to the HTTP proxy server from the AKS node. nc -vz <http-s-proxy-address> <port> # Test traffic from the HTTP proxy server to HTTPS. curl --proxy http://<http-proxy-address>:<port>/ --head https://mcr.microsoft.com # Test traffic from the HTTPS proxy server to HTTPS. curl --proxy https://<https-proxy-address>:<port>/ --head https://mcr.microsoft.com # Test DNS functionality. dig mcr.microsoft.com 443Note
Si vous ne pouvez pas accéder au nœud via SSH, vous pouvez tester la connectivité sortante en exécutant la
az vmss run-command invokecommande sur l’instance du groupe de machines virtuelles identiques :# Get the VMSS instance IDs. az vmss list-instances --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --output table # Use an instance ID to test connectivity from the HTTP proxy server to HTTPS. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "curl --proxy http://<http-proxy-address>:<port>/ --head https://mcr.microsoft.com" # Use an instance ID to test connectivity from the HTTPS proxy server to HTTPS. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "curl --proxy https://<https-proxy-address>:<port>/ --head https://mcr.microsoft.com" # Use an instance ID to test DNS functionality. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "dig mcr.microsoft.com 443"
Solution
Le tableau suivant répertorie des raisons spécifiques pour lesquelles le trafic peut être bloqué et la solution correspondante pour chaque raison :
| Issue | Solution |
|---|---|
| Le trafic est bloqué par des règles de pare-feu, un serveur proxy ou un groupe de sécurité réseau (NSG) | Ce problème se produit lorsque les ports requis AKS ou les noms de domaine complets (FQDN) sont bloqués par un pare-feu, un serveur proxy ou un groupe de sécurité réseau. Vérifiez que ces ports et noms de domaine complets sont autorisés. Pour déterminer ce qui est bloqué, vérifiez la connectivité fournie dans la section Cause précédente. Pour plus d’informations sur les ports et noms de domaine complets requis AKS, consultez les règles de réseau sortant et de nom de domaine complet pour les clusters Azure Kubernetes Service (AKS). |
| L’enregistrement AAAA (IPv6) est bloqué sur le pare-feu | Sur votre pare-feu, vérifiez qu’il n’existe rien qui empêche la résolution du point de terminaison dans Azure DNS. |
| Le cluster privé ne peut pas résoudre les ressources Azure internes | Dans les clusters privés, l’adresse IP Azure DNS (168.63.129.16) doit être ajoutée en tant que serveur DNS en amont si le DNS personnalisé est utilisé. Vérifiez que l’adresse est définie sur vos serveurs DNS. Pour plus d’informations, consultez Créer un cluster AKS privé et Qu’est-ce que l’adresse IP 168.63.129.16 ?. |
Plus d’informations
Exclusion de responsabilité sur les coordonnées externes
Microsoft fournit des informations de contacts externes afin de vous aider à obtenir un support technique sur ce sujet. Ces informations de contact peuvent changer sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés externes.