Problemen met de foutcode OutboundConnFailVMExtensionError (50) oplossen
In dit artikel wordt beschreven hoe u de OutboundConnFailVMExtensionError
fout (ook wel foutcode ERR_OUTBOUND_CONN_FAIL
genoemd, foutcode 50) identificeert en oplost die kan optreden als u probeert een AKS-cluster (Microsoft Azure Kubernetes Service) te starten of te implementeren.
Voorwaarden
Het opdrachtregelprogramma Netcat (nc)
Het hulpprogramma Client-URL (cURL)
Symptomen
Wanneer u probeert een AKS-cluster te starten of maken, wordt het volgende foutbericht weergegeven:
Kan geen uitgaande verbinding van agents tot stand brengen. Zie https://aka.ms/aks-required-ports-and-addresses voor meer informatie.
Details: Code="VMExtensionProvisioningError"
Message="VM heeft een fout gerapporteerd bij het verwerken van de extensie 'vmssCSE'.
Foutbericht: 'Enable failed: failed to execute command: command terminated with exit status=50\n[stdout]\n\n[stderr]\nnc: connect to mcr.microsoft.com port 443 (tcp) failed: Connection timed out\nCommand exited with non-zero status
Foutdetails: "vmssCSE-foutberichten: {vmssCSE exit status=50, output=pt/apt.conf.d/95proxy...}
Oorzaak
De aangepaste scriptextensie waarmee de benodigde onderdelen worden gedownload om de knooppunten in te richten, kan de benodigde uitgaande connectiviteit niet tot stand brengen voor het verkrijgen van pakketten. Voor openbare clusters proberen de knooppunten te communiceren met het MCR-eindpuntmcr.microsoft.com
(Microsoft Container Registry) op poort 443.
Er zijn veel redenen waarom het verkeer mogelijk wordt geblokkeerd. In een van deze situaties kunt u het beste de connectiviteit testen door het Secure Shell-protocol (SSH) te gebruiken om verbinding te maken met het knooppunt. Als u de verbinding wilt maken, volgt u de instructies in Verbinding maken met AKS-clusterknooppunten (Azure Kubernetes Service) voor onderhoud of probleemoplossing. Test vervolgens de connectiviteit op het cluster door de volgende stappen uit te voeren:
Nadat u verbinding hebt gemaakt met het knooppunt, voert u de
nc
volgendedig
opdrachten uit:nc -vz mcr.microsoft.com 443 dig mcr.microsoft.com 443
Notitie
Als u geen toegang hebt tot het knooppunt via SSH, kunt u de uitgaande connectiviteit testen door de opdracht az vmss run-command invoke uit te voeren voor het exemplaar van de virtuele-machineschaalset:
# 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"
Als u probeert een AKS-cluster te maken met behulp van een HTTP-proxy, voert u de
nc
encurl
dig
opdrachten uit nadat u verbinding hebt gemaakt met het knooppunt:# 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 443
Notitie
Als u geen toegang hebt tot het knooppunt via SSH, kunt u de uitgaande connectiviteit testen door de
az vmss run-command invoke
opdracht uit te voeren op het exemplaar van de virtuele-machineschaalset:# 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"
Oplossing
De volgende tabel bevat specifieke redenen waarom verkeer kan worden geblokkeerd en de bijbehorende oplossing voor elke reden:
Probleem | Oplossing |
---|---|
Verkeer wordt geblokkeerd door firewallregels, een proxyserver of netwerkbeveiligingsgroep (NSG) | Dit probleem treedt op wanneer de vereiste AKS-poorten of FQDN's (Fully Qualified Domain Names) worden geblokkeerd door een firewall, proxyserver of NSG. Zorg ervoor dat deze poorten en FQDN's zijn toegestaan. Als u wilt bepalen wat er is geblokkeerd, controleert u de connectiviteit in de voorgaande sectie Oorzaak . Zie regels voor uitgaand netwerk en FQDN-regels voor Azure Kubernetes Service (AKS) voor meer informatie over vereiste AKS-poorten en FQDN-regels. |
De AAAA-record (IPv6) wordt geblokkeerd op de firewall | Controleer op uw firewall of er niets bestaat waardoor het eindpunt niet kan worden omgezet in Azure DNS. |
Privécluster kan interne Azure-resources niet oplossen | In privéclusters moet het AZURE DNS-IP-adres (168.63.129.16 ) worden toegevoegd als een upstream DNS-server als aangepaste DNS wordt gebruikt. Controleer of het adres is ingesteld op uw DNS-servers. Zie Een privé-AKS-cluster maken en wat is IP-adres 168.63.129.16?voor meer informatie. |
Meer informatie
Disclaimerinformatie van derden
Microsoft biedt contactgegevens van derden om u te helpen aanvullende informatie over dit onderwerp te vinden. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft garandeert niet de nauwkeurigheid van contactgegevens van derden.
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.