Aracılığıyla paylaş


Yapılandırma dosyası bağlanırken kullanılamaz

Bu makalede, eksik veya geçersiz bir yapılandırma dosyası nedeniyle bir Azure Kubernetes Service (AKS) kümesine bağlanamadığınızda oluşan sorunların nasıl çözülebileceği açıklanır.

Önkoşullar

Belirtiler

Küme bağlantısı girişimi sırasında aşağıdaki metne benzer bir hata iletisi görüntülenir:

Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it. 

error: You must be logged in to the server (the server has asked for the client to provide credentials)

Nedenler

kubectl aracı ve diğer Kubernetes bağlantı araçları, config adlı yerel bir yapılandırma dosyası kullanır. Yapılandırma dosyası, kümeye bağlanmak için kimlik doğrulama kimlik bilgilerini ve ayrıntıları içerir. Varsayılan olarak:

Bu nedenle, denenen bir Kubernetes oturumu sırasında ne olacağı, kubectl komutunu çalıştıran kullanıcıya bağlıdır. A kullanıcısı olarak oturum açtıysanız ve her iki komutu da yürütürseniz, şöyle olur:

  • Komut, az aks get-credentialsC:\Users\A\.kube\config dosyasına yeni kubeconfig parametrelerini eklemeyi dener.

  • kubectl komutu C:\Users\A\.kube\config dosyasında arama yapmaya çalışır.

Ancak kubectl için kubeconfig dosyasının işaretçisi değiştiyse, kümeye erişmek için kullanılan dosyanın farklı bir konumda olması gerekir.

Not

kubeconfig dosyası, Kubernetes kümelerine erişmek için yapılandırma parametrelerini içeren bir dosya başvurusudur. Kubeconfig adlı bir dosyaya başvurması gerekmez.

Hata, aşağıdaki senaryolardan biri gerçekleşirse oluşur:

Neden 1: Yapılandırma dosyası yok

Yapılandırma dosyası makinenizde yok.

Çözüm: Kimlik bilgilerini kaydetme

Kimlik bilgilerini kaydeden Azure CLI'da komutunu çalıştırarak az aks get-credentialsyapılandırma dosyasını yükleyin. Varsayılan konumu kullanmak istemiyorsanız, parametresini yapılandırma konumuyla (örneğin, ~/Dir1/Dir2/config veya C:\Dir1\Dir2\config) belirtin--file <config-file-location>.

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    [--file <config-file-location>]

Neden 2: Yapılandırma dosyası yanlış dizinde

Yapılandırma dosyası makinenizdedir, ancak komutun ve/veya kubectl aracının az aks get-credentials beklediği dizinden farklı bir dizindedir.

Çözüm: Yapılandırma dosyasını taşıyın, kimlik bilgilerini yeniden kaydedin veya KUBECONFIG ortam değişkenini değiştirin

Aşağıdaki eylemlerden birini veya birkaçını gerçekleştirin:

  • Yapılandırma dosyasını içinde olmasını istediğiniz dizine taşıyın.

  • az aks get-credentials komutunu çalıştırın. Varsayılan konum değilse, istediğiniz konumu belirtin.

    az aks get-credentials --resource-group <cluster-resource-group> \
        --name <cluster-name> \
        [--file <config-file-location>]
    
  • Kubectl'nin yapılandırma parametrelerini nerede arayacağı değiştirmek için aşağıdaki seçeneklerden birini kullanın:

    • Ortam değişkenini KUBECONFIGyapılandırma dosyasının geçerli konumuna işaret etmek için değiştirin. Daha fazla bilgi için bkz. KUBECONFIG ortam değişkenini ayarlama.

    • parametresiyle --kubeconfig=<config-file-location>kubectl config komutunu çalıştırın.

Neden 3: Yapılandırma dosyasının süresi doldu veya bozuk

Yapılandırma dosyası makinenizdedir. Komut ve kubectl aracı için az aks get-credentials beklenen dizinde de bulunur. Ancak dosyanın süresi doldu veya bozuk.

Çözüm: Kimlik bilgilerini yeniden oluşturma

Mevcut kimlik bilgilerinin süresi dolmuş veya bozulmuş olabileceğinden kimlik bilgilerini yeniden kurabilirsiniz. Bu durumda komutunu parametresiyle --overwrite-existing çalıştırabilirsinizaz aks get-credentials.

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    --overwrite-existing \
    [--file <config-file-location>]

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.