Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du identifierar och löser felet OutboundConnFailVMExtensionError (även kallat felkod ERR_OUTBOUND_CONN_FAIL, felnummer 50) som kan inträffa om du skapar, startar, skalar eller uppgraderar ett AkS-kluster (Microsoft Azure Kubernetes Service).
Prerequisites
Symptoms
När du försöker skapa, skala eller uppgradera ett AKS-kluster kan du få följande felmeddelande:
Det går inte att upprätta utgående anslutning från agenter. Mer https://aka.ms/aks-required-ports-and-addresses information finns i.
Detaljer: Code="VMExtensionProvisioningError"
Message="VM har rapporterat ett fel vid bearbetning av tillägget "vmssCSE".
Felmeddelande: "Aktivera misslyckades: det gick inte att köra kommandot: kommandot avslutades med slutstatus=50\n[stdout]\n\n[stderr]\nnc: ansluta till mcr.microsoft.com port 443 (tcp) misslyckades: Anslutningens tidsgräns uppnåddes\nKommandot avslutades utan nollstatus
Felinformation: "vmssCSE-felmeddelanden: {vmssCSE exit status=50, output=pt/apt.conf.d/95proxy...}
Det här felet kan också leda till att dina körande noder blir NotReady eller orsakar fel vid hämtning av avbild, eftersom utgående anslutningar blockeras från vissa eller alla noder i klustret.
Cause
Det anpassade skripttillägget som hämtar de nödvändiga komponenterna för att tillhandahålla noderna kunde inte upprätta den nödvändiga utgående anslutningen för att hämta paket. För offentliga kluster försöker noderna kommunicera med MCR-slutpunkten (mcr.microsoft.comMicrosoft Container Registry) på port 443.
Det finns många orsaker till att den utgående trafiken kan blockeras. Det bästa sättet att felsöka utgående anslutningsfel är genom att köra en anslutningsanalys med Azure Virtual Network Verifier (förhandsversion). Genom att köra en anslutningsanalys kan du visualisera hoppen i trafikflödet och eventuella felkonfigurationer i Azure-nätverksresurser som blockerar trafiken. Om du vill felsöka utgående anslutningsfel manuellt kan du använda Secure Shell-protokollet (SSH) för att ansluta till noden. Det här avsnittet beskriver instruktioner för båda typerna av undersökningar:
Kontrollera om Azure-nätverksresurser blockerar trafik till slutpunkten
För att avgöra om trafik blockeras till slutpunkten på grund av Azure-nätverksresurser kör du en anslutningsanalys från dina AKS-klusternoder till slutpunkten med verktyget Azure Virtual Network Verifier (förhandsversion). Anslutningsanalysen omfattar följande resurser:
- Azure Load Balancer (belastningsutjämnare)
- Azure Firewall
- En NAT-gateway (network address translation)
- Nätverkssäkerhetsgrupp (NSG)
- Nätverksprincip
- Användardefinierade vägar (routningstabeller)
- Virtuell nätverkssammanlänkning
Note
Azure Virtual Network Verifier (förhandsversion) kan inte komma åt några externa eller tredjeparts nätverksresurser, till exempel en anpassad brandvägg. Om anslutningsanalysen inte identifierar någon blockerad trafik rekommenderar vi att du utför en manuell kontroll av eventuella externa nätverk för att täcka alla hopp i trafikflödet.
För närvarande stöds inte kluster som använder Azure CNI-överlägg för den här funktionen. Stöd för CNI Overlay planeras till augusti 2025.
- Gå till klustret i Azure Portal. Gå till bladet Inställningar –> Nodpooler i sidopanelen.
- Identifiera den nodpool som du vill köra en anslutningsanalys från. Klicka på nodpoolen för att välja den som omfång.
- Välj "Anslutningsanalys (förhandsversion)" i verktygsfältet överst på sidan. Om du inte ser det klickar du på de tre punkterna "..." i verktygsfältet längst upp på sidan för att öppna den expanderade menyn.
- Välj en VMSS-instans som källa. Källans IP-adresser fylls i automatiskt.
- Välj ett offentligt domännamn/slutpunkt som mål för analysen, ett exempel är
mcr.microsoft.com. Mål-IP-adresserna fylls också i automatiskt. - Kör analysen och vänta i upp till 2 minuter på resultatet. I det resulterande diagrammet identifierar du de associerade Azure-nätverksresurserna och var trafiken blockeras. Om du vill visa detaljerade analysutdata klickar du på fliken "JSON-utdata" eller klickar på pilarna i diagrammet.
Manuell felsökning
Om verktyget Azure Virtual Network Verifier (förhandsversion) inte ger tillräckligt med insikt i problemet kan du manuellt felsöka utgående anslutningsfel med hjälp av Secure Shell-protokollet (SSH) för att ansluta till noden. För att upprätta anslutningen följer du anvisningarna i Anslut till AKS-klusternoder (Azure Kubernetes Service) för underhåll eller felsökning. Testa sedan anslutningen i klustret genom att följa dessa steg:
När du har anslutit till noden kör du kommandona
ncochdig:nc -vz mcr.microsoft.com 443 dig mcr.microsoft.com 443Note
Om du inte kan komma åt noden via SSH kan du testa den utgående anslutningen genom att köra kommandot az vmss run-command invoke mot vm-skalningsuppsättningsinstansen:
# 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"Om du försöker skapa ett AKS-kluster med hjälp av en HTTP-proxy kör
ncdu kommandona ,curlochdignär du har anslutit till noden:# 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
Om du inte kan komma åt noden via SSH kan du testa den utgående anslutningen genom att köra
az vmss run-command invokekommandot mot vm-skalningsuppsättningsinstansen:# 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
I följande tabell visas specifika orsaker till varför trafik kan blockeras och motsvarande lösning av varje orsak:
| Issue | Solution |
|---|---|
| Trafik blockeras av brandväggsregler, en proxyserver eller nätverkssäkerhetsgrupp (NSG) | Det här problemet uppstår när DE AKS-portar som krävs eller fullständigt kvalificerade domännamn (FQDN) blockeras av en brandvägg, proxyserver eller NSG. Kontrollera att dessa portar och FQDN:er är tillåtna. Kontrollera anslutningen som angavs i föregående orsaksavsnitt för att avgöra vad som är blockerat. Mer information om NÖDVÄNDIGA AKS-portar och FQDN finns i Regler för utgående nätverk och FQDN för AkS-kluster (Azure Kubernetes Service). |
| AAAA-posten (IPv6) blockeras i brandväggen | Kontrollera att det inte finns något som hindrar slutpunkten från att matcha i Azure DNS i brandväggen. |
| Privat kluster kan inte lösa interna Azure-resurser | I privata kluster måste Azure DNS IP-adressen (168.63.129.16) läggas till som en överordnad DNS-server om anpassad DNS används. Kontrollera att adressen har angetts på DNS-servrarna. Mer information finns i Skapa ett privat AKS-kluster och Vad är IP-adress 168.63.129.16?. |
Mer information
Ansvarsfriskrivning för tredje part
Microsoft tillhandahåller kontaktinformation från tredje part som hjälper dig att hitta ytterligare information om det här ämnet. Denna kontaktinformation kan ändras utan föregående meddelande. Microsoft garanterar inte att kontaktinformation från tredje part är korrekt.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.