Azure Arc özellikli Kubernetes kümeleri için bağlantı sorunlarını tanılama

Bir kümeyi Azure Arc'a bağlarken sorun yaşıyorsanız, bunun nedeni büyük olasılıkla burada listelenen sorunlardan biridir. Destekli yardım içeren iki akış çizelgesi sağlıyoruz: biri ara sunucu kullanmıyorsanız, diğeri de ağ bağlantınız ara sunucu kullanıyorsa geçerlidir.

Bahşiş

Bu akış çizelgesindeki adımlar, kümenizi bağlamak için Azure CLI veya Azure PowerShell kullanmanız fark eder. Ancak, bazı adımlar Azure CLI kullanımını gerektirir. Azure CLI'yı henüz yüklemediyseniz başlamadan önce bunu yapmayı unutmayın.

Ara sunucu içermeyen Bağlan ions

Bir kümeyi ara sunucu olmadan Azure Arc'a bağlamaya çalışırken sorununuzu tanılamak için bu akış çizelgesini gözden geçirin. Her adım hakkında daha fazla ayrıntı aşağıda verilmiştir.

Flowchart showing a visual representation of checking for connection issues when not using a proxy.

Azure kimliği yeterli izinlere sahip mi?

Kümeyi bağlamak için önkoşulları gözden geçirin ve kümeyi bağlamak için kullandığınız kimliğin gerekli izinlere sahip olduğundan emin olun.

Azure CLI'nın en son sürümünü mü kullanıyorsunuz?

En son sürümün yüklü olduğundan emin olun.

Kümenizi Azure PowerShell kullanarak bağladıysanız en son sürümü çalıştırdığınızdan emin olun.

connectedk8s Uzantı en son sürüm mü?

Şu komutu çalıştırarak Azure CLI connectedk8s uzantısını en son sürüme güncelleştirin:

az extension update --name connectedk8s

Uzantıyı henüz yüklemediyseniz, aşağıdaki komutu çalıştırarak bunu yapabilirsiniz:

az extension add --name connectedk8s

kubeconfig doğru kümeyi mi işaret ediyor?

Hedef bağlam adını onaylamak için komutunu çalıştırın kubectl config get-contexts . Ardından komutunu çalıştırarak kubectl config use-context <target-cluster-name>varsayılan bağlamı doğru kümeye ayarlayın.

Tüm gerekli kaynak sağlayıcıları kayıtlı mı?

Microsoft.Kubernetes, Microsoft.KubernetesConfiguration ve Microsoft.ExtendedLocation kaynak sağlayıcılarının kayıtlı olduğundan emin olun.

Tüm ağ gereksinimleri karşılanıyor mu?

Ağ gereksinimlerini gözden geçirin ve gerekli uç noktaların engellenmediğinden emin olun.

Ad alanında azure-arc tüm podlar çalışıyor mu?

Her şey düzgün çalışıyorsa podlarınızın tümü durumunda olmalıdır Running . Herhangi bir pod durumunun olup olmadığını Runningonaylamak için komutunu çalıştırınkubectl get pods -n azure-arc.

Hala sorun mu yaşıyorsunuz?

Yukarıdaki adımlar birçok yaygın bağlantı sorununu çözer, ancak yine de başarıyla bağlanamıyorsanız sorunu daha fazla inceleyebilmemiz için bir sorun giderme günlük dosyası oluşturun ve bir destek isteği açın.

Sorun giderme günlük dosyasını oluşturmak için aşağıdaki komutu çalıştırın:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

Destek isteğinizi oluştururken, Ek ayrıntılar bölümünde, oluşturulan günlük dosyasını karşıya yüklemek için Dosya yükleme seçeneğini kullanın.

Ara sunucu ile Bağlan

En az bir makinede ara sunucu kullanıyorsanız, temel sorun giderme adımları için ara sunucu olmayan akış çizelgesinin ilk beş adımını (kaynak sağlayıcısı kaydı aracılığıyla) tamamlayın. Daha sonra sorun yaşamaya devam ediyorsanız ek sorun giderme adımları için sonraki akış çizelgesini gözden geçirin. Her adım hakkında daha fazla ayrıntı aşağıda verilmiştir.

Flowchart showing a visual representation of checking for connection issues when using a proxy.

Makine komutları bir ara sunucunun arkasında mı yürütüyor?

Makine bir ara sunucunun arkasındaki komutları yürütüyorsa, tüm gerekli ortam değişkenlerini ayarlamanız gerekir. Daha fazla bilgi için bkz. giden ara sunucu kullanarak Bağlan.

Örnek:

export HTTP_PROXY="http://<proxyIP>:<proxyPort>"
export HTTPS_PROXY="https://<proxyIP>:<proxyPort>"
export NO_PROXY="<cluster-apiserver-ip-address>:<proxyPort>"

Proxy sunucusu yalnızca güvenilen sertifikaları kabul ediyor mu?

komutunu çalıştırırken ekleyerek --proxy-cert <path-to-cert-file> sertifika dosya yolunu eklediğinizden az connectedk8s connect emin olun.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>

Proxy sunucusu gerekli ağ uç noktalarına ulaşabiliyor mu?

Ağ gereksinimlerini gözden geçirin ve gerekli uç noktaların engellenmediğinden emin olun.

Proxy sunucusu yalnızca HTTP mi kullanıyor?

Proxy sunucunuz yalnızca HTTP kullanıyorsa, her iki parametre için de kullanabilirsiniz proxy-http .

Proxy sunucunuz hem HTTP hem de HTTPS ile ayarlandıysa, komutu belirtilen ve --proxy-http parametreleriyle --proxy-https çalıştırınaz connectedk8s connect. HTTP ara sunucusu ve --proxy-https HTTPS ara sunucusu için kullandığınızdan --proxy-http emin olun.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port>  

Ara sunucu, hizmetten hizmete iletişim için atlama aralıkları gerektiriyor mu?

Aralıkları atlamanız gerekiyorsa komutunu kullanın --proxy-skip-range <excludedIP>,<excludedCIDR>az connectedk8s connect .

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR>

Ad alanında azure-arc tüm podlar çalışıyor mu?

Her şey düzgün çalışıyorsa podlarınızın tümü durumunda olmalıdır Running . Herhangi bir pod durumunun olup olmadığını Runningonaylamak için komutunu çalıştırınkubectl get pods -n azure-arc.

Hala sorun mu yaşıyorsunuz?

Yukarıdaki adımlar birçok yaygın bağlantı sorununu çözer, ancak yine de başarıyla bağlanamıyorsanız sorunu daha fazla inceleyebilmemiz için bir sorun giderme günlük dosyası oluşturun ve bir destek isteği açın.

Sorun giderme günlük dosyasını oluşturmak için aşağıdaki komutu çalıştırın:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

Destek isteğinizi oluştururken, Ek ayrıntılar bölümünde, oluşturulan günlük dosyasını karşıya yüklemek için Dosya yükleme seçeneğini kullanın.

Sonraki adımlar