Aracılığıyla paylaş


OutboundConnFailVMExtensionError hata kodu sorunlarını giderme (50)

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çıklanır.

Önkoşullar

  • Netcat (nc) komut satırı aracı

  • Dig komut satırı aracı

  • İstemci URL'si (cURL) aracı

Belirtiler

BIR AKS kümesini başlatmaya veya 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ştirilemedi: komut yürütülemedi: komut exit status=50\n[stdout]\n\n[stderr]\nnc: mcr.microsoft.com bağlantı noktasına bağlanılamadı 443 (tcp) başarısız oldu: Bağlantı zaman aşımına uğradı\nKomut sıfır olmayan durumla çıktı

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 giden bağlantıyı kuramadı. Genel kümeler için düğümler, 443 numaralı bağlantı noktasındaki 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ığı altında yer alan yönergeleri izleyin. Ardından aşağıdaki adımları izleyerek kümedeki bağlantıyı test edin:

  1. 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"
    
  2. HTTP ara sunucusu kullanarak BIR AKS kümesi oluşturmaya çalışırsanız, düğüme ncbağlandıktan sonra , curlve dig 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 neden için ilgili çözüm listelenmiştir.

Sorun Çözüm
Trafik güvenlik duvarı kuralları veya ara sunucu tarafından engelleniyor Bu senaryoda, güvenlik duvarı veya ara sunucu çıkış filtrelemesi yapar. Tüm gerekli etki alanlarına ve bağlantı noktalarına izin verilip verilmediğini doğrulamak için bkz. Azure Kubernetes Service (AKS) içinde küme düğümleri için çıkış trafiğini denetleme.
Trafik bir küme ağ güvenlik grubu (NSG) tarafından engellendi Kümenize bağlı tüm NSG'lerde 443 numaralı bağlantı noktası, 53 numaralı bağlantı noktası veya uç noktaya bağlanmak için kullanılması gerekebilecek başka bir bağlantı noktasında engelleme olmadığını doğrulayın. Daha fazla bilgi için bkz. Azure Kubernetes Service (AKS) içinde küme düğümleri için çıkış trafiğini denetleme.
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 168.63.129.16 IP adresi 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.