OutboundConnFailVMExtensionError hata kodunun (50) sorunlarını giderme
Bu makalede, bir Microsoft Azure Kubernetes Service (AKS) kümesini başlatmaya veya oluşturmaya ve dağıtmaya çalıştığınızda oluşabilecek hatayı (hata kodu ERR_OUTBOUND_CONN_FAIL
, hata numarası 50 olarak da bilinir) tanımlama ve çözme OutboundConnFailVMExtensionError
işlemi açıklanmaktadır.
Önkoşullar
Belirtiler
AKS kümesini başlatmaya ve oluşturmaya çalıştığınızda aşağıdaki hata iletisini alırsınız:
Aracılardan giden bağlantı kurulamıyor, daha fazla bilgi için lütfen bakın https://aka.ms/aks-required-ports-and-addresses .
Ayrıntılar: Code="VMExtensionProvisioningError"
Message="VM, 'vmssCSE' uzantısı işlenirken bir hata bildirdi.
Hata iletisi: "Etkinleştir başarısız oldu: komut yürütülemedi: komut exit status=50\n[stdout]\n\n[stderr]\nnc: 443 (tcp) numaralı mcr.microsoft.com bağlantı noktasına bağlanılamadı: Bağlantı zaman aşımına uğradı\nKodudan sıfır olmayan durumla çıkıldı
Hata ayrıntıları: "vmssCSE hata iletileri: {vmssCSE çıkış durumu=50, output=pt/apt.conf.d/95proxy...}
Neden
Düğümleri sağlamak için gerekli bileşenleri indiren özel betik uzantısı, paketleri almak için gerekli olan giden bağlantıyı kuramadı. Ortak kümeler için düğümler, 443 numaralı bağlantı noktasında Microsoft Container Registry (MCR) uç noktasıyla (mcr.microsoft.com
) iletişim kurmaya çalışır.
Trafiğin engellenmesinin birçok nedeni vardır. Bu durumlarda bağlantıyı test etmenin en iyi yolu, düğüme bağlanmak için Secure Shell protokolünü (SSH) kullanmaktır. Bağlantıyı kurmak için bakım veya sorun giderme için Azure Kubernetes Service (AKS) küme düğümlerine bağlanma başlığındaki yönergeleri izleyin. Ardından aşağıdaki adımları izleyerek kümedeki bağlantıyı test edin:
Düğüme bağlandıktan sonra ve
dig
komutlarınınc
çalıştırın:nc -vz mcr.microsoft.com 443 dig mcr.microsoft.com 443
Not
Düğüme SSH üzerinden erişemiyorsanız, sanal makine ölçek kümesi örneğinde az vmss run-command invoke komutunu çalıştırarak giden bağlantıyı test edebilirsiniz:
# 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"
HTTP ara sunucusu kullanarak AKS kümesi oluşturmaya çalışırsanız, düğüme
nc
bağlandıktan sonra ,curl
vedig
komutlarını çalıştırın:# 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
Not
Düğüme SSH üzerinden erişemiyorsanız, Sanal Makine Ölçek Kümesi örneğinde komutunu çalıştırarak
az vmss run-command invoke
giden bağlantıyı test edebilirsiniz:# 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"
Çözüm
Aşağıdaki tabloda trafiğin engellenmesinin belirli nedenleri ve her nedenden dolayı ilgili çözüm listelenmiştir:
Sorun | Çözüm |
---|---|
Trafik güvenlik duvarı kuralları, ara sunucu veya Ağ Güvenlik Grubu (NSG) tarafından engellendi | Bu sorun, AKS gerekli bağlantı noktaları veya Tam Etki Alanı Adları (FQDN) bir güvenlik duvarı, ara sunucu veya NSG tarafından engellendiğinde oluşur. Bu bağlantı noktalarına ve FQDN'lere izin verildiğinden emin olun. Neyin engellendiğini belirlemek için önceki Neden bölümünde sağlanan bağlantıyı denetleyin. AKS gerekli bağlantı noktaları ve FQDN'ler hakkında daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) kümeleri için giden ağ ve FQDN kuralları. |
AAAA (IPv6) kaydı güvenlik duvarında engellendi | Güvenlik duvarınızda uç noktanın Azure DNS'de çözümlenmesine engel olacak hiçbir şeyin mevcut olmadığını doğrulayın. |
Özel küme iç Azure kaynaklarını çözümleyemiyor | Özel kümelerde, özel DNS kullanılıyorsa Azure DNS IP adresi (168.63.129.16 ) yukarı akış DNS sunucusu olarak eklenmelidir. Adresin DNS sunucularınızda ayarlandığını doğrulayın. Daha fazla bilgi için bkz . Özel AKS kümesi oluşturma ve IP adresi 168.63.129.16 nedir?. |
Daha Fazla Bilgi
Üçüncü tarafla iletişim sorumluluk reddi
Microsoft, bu konu hakkında ek bilgi bulmanıza yardımcı olmak için üçüncü taraf iletişim bilgileri sağlar. Bu iletişim bilgileri önceden haber verilmeksizin değiştirilebilir. Microsoft, üçüncü taraf iletişim bilgilerinin doğruluğunu garanti etmez.
Yardım için bize ulaşın
Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.