Aracılığıyla paylaş


AKS kümesi oluşturma sorunlarının temel sorunlarını giderme

Bu makalede, Microsoft Azure Kubernetes Service (AKS) kümesini başarıyla oluşturamıyor veya dağıtamıyorsanız kullanılacak temel sorun giderme yöntemleri özetlenmiştir.

Önkoşullar

Azure CLI'dan hataları görüntüleme

Azure CLI kullanarak küme oluşturmaya çalıştığınızda işlem başarısız olursa çıkışta hata bilgileri görüntülenir. Aşağıda örnek bir Azure CLI komutu ve çıkışı verilmişti:

# Create a cluster specifying subnet

az aks create --resource-group myResourceGroup
--name MyManagedCluster \
--load-balancer-sku standard \
--vnet-subnet-id /subscriptions/<subscriptions-id>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/aks_demo_vnet/subnets/AKS

Çıktı örneği:

It is highly recommended to use USER assigned identity (option --assign-identity)when you want to bring you own subnet, which will have no latency for the role assignment to take effect. When you SYSTEM assigned identity, azure-cli will grant Network Contributor role to the system assigned identity after the cluster is created, and the role assignment will take some time to take effect, see https://learn.microsoft.com/azure/aks/use-managed-identity, proceed to create cluster with system assigned identity? (y/N): y`

(ControlPlaneAddOnsNotReady) Pods not in Running status: konnectivity-agent-67f7f5554f-nsw2g,konnectivity-agent-8686cb54fd-xlsgk,metrics-server-6bc97b47f7-dfhbr,coredns-845757d86-7xjqb,coredns-autoscaler-5f85dc856b-mxkrj

Çıkıştan hata kodunu ve hata iletisini tanımlayabilirsiniz. Bu durumda şunlardır:

  • Hata kodu: ControlPlaneAddOnsNotReady
  • Hata iletisi: Pods not in Running status: konnectivity-agent-67f7f5554f-nsw2g,konnectivity-agent-8686cb54fd-xlsgk,metrics-server-6bc97b47f7-dfhbr,coredns-845757d86-7xjqb,coredns-autoscaler-5f85dc856b-mxkrj.

Bu açıklamalar genellikle küme oluşturma işleminde neyin yanlış gittiğinin ayrıntılarını içerir ve daha da fazla ayrıntı içeren makalelere bağlanır. Ayrıca, Azure CLI işleminin ürettiği hatalara bağlı olarak başvuru olarak sorun giderme makalelerimizi kullanabilirsiniz.

Azure portalında hata ayrıntılarını görüntüleme

Azure portalında AKS kümesi oluşturma hatalarını araştırmak için Etkinlik Günlüğü'nü açın. Sonuçları gereksinimlerinize uyacak şekilde filtreleyebilirsiniz. Bunu yapmak için Filtre Ekle'yi seçerek filtreye daha fazla özellik ekleyin.

Filtre ekleme ekran görüntüsü.

Etkinlik Günlüğü sayfasında, İşlem adı sütununun Yönetilen Küme Oluştur veya Güncelleştir'i gösterdiği günlük girdilerini bulun.

Tarafından başlatılan Olay sütunu, işlemi gerçekleştiren kullanıcıyı gösterir. Bu kullanıcı bir iş hesabı, okul hesabı veya Azure yönetilen kimliği olabilir.

İşlem başarılı olursa Durum sütun değeri Kabul Edildi olur. Ayrıca, aşağıdaki işlem adları gibi küme bileşenlerinin oluşturulması için alt çalışma girdileri de görürsünüz:

  • Yol Tablosu Oluşturma veya Güncelleştirme
  • Ağ Güvenlik Grubu Oluşturma veya Güncelleştirme
  • Kullanıcı Tarafından Atanan Kimlik Oluşturma güncelleştirme
  • Load Balancer Oluşturma veya Güncelleştirme
  • Genel Ip Adresi Oluşturma veya Güncelleştirme
  • Rol ataması oluşturma
  • Kaynak grubunu güncelleştirme

Bu alt çalışma girişlerinde Durum değeri Başarılı ve Olay tarafından başlatılan alan AzureContainerService olarak ayarlanır.

Etkinlik günlüğündeki görünümün ekran görüntüsü.

Bunun yerine bir hata oluştuysa ne olur? Bu durumda Durum değeri Başarısız olur. Küme bileşenleri oluşturma işlemlerinden farklı olarak, başarısız alt çalışma girdilerini gözden geçirmek için genişletmeniz gerekir. Tipik alt çalışma adları, 'denetim' İlke eylemi ve 'auditIfNotExists' İlke eylemi gibi ilke eylemleridir. Tüm alt işlemlerin birlikte başarısız olması gerekmez. Bazılarının başarılı olduğunu görmeyi bekleyebilirsiniz.

Daha fazla araştırmak için başarısız alt işlemlerden birini seçin. Sorunu gidermek için Özet, JSON ve Değişiklik Geçmişi sekmelerini seçin. JSON sekmesi, hatanın JSON biçimindeki çıkış metnini içerir ve genellikle en yararlı bilgileri sağlar.

JSON biçimindeki ayrıntılı günlüğün ekran görüntüsü.

Aşağıda JSON biçiminde ayrıntılı günlük örneği verilmişti:

{
     "status": {
        "value": "Failed",
        "localizedValue": "Failed"
    },
    "subStatus": {
        "value": "",
        "localizedValue": ""
    },
    "submissionTimestamp": "2024-08-30T10:06:07Z",
    "subscriptionId": "<subscriptionId>",
    "tenantId": "<tenantId>",
    "properties": {
        "statusMessage": "{\"status\":\"Failed\",\"error\":{\"code\":\"ResourceOperationFailure\",\"message\":\"The resource operation completed with terminal provisioning state 'Failed'.\",\"details\":[{\"code\":\"VMExtensionProvisioningError\",\"message\":\"Unable to establish outbound connection from agents, please see https://learn.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/error-code-outboundconnfailvmextensionerror and https://aka.ms/aks-required-ports-and-addresses for more information.\"}]}}",
}
}

Küme içgörülerini görüntüleme

Küme Azure portalında oluşturuldu mu ve orada görünür mü? Bu doğruysa, sorun gidermenize yardımcı olacak küme içgörüleri oluşturabilirsiniz. Bu özelliğe erişmek için şu adımları izleyin:

  1. Azure portalında Kubernetes hizmetlerini arayın ve seçin.

  2. AKS kümenizin adını seçin.

  3. AKS kümesi sayfasının gezinti bölmesinde Sorunları tanılama ve çözme'yi seçin.

  4. Sorunları tanılama ve çözme sayfasında Küme içgörüleri bağlantısını seçin. Küme içgörüleri aracı kümenizi analiz eder ve ardından Küme İçgörüleri sayfasının Gözlemler ve Çözümler bölümünde bulgularının listesini sağlar.

  5. Bir sorun ve olası çözümleri hakkında daha fazla bilgi görüntülemek için bulgulardan birini seçin.

Azure portalında kaynakları görüntüleme

Azure portalında, küme oluşturulduğunda oluşturulan kaynakları görüntülemek isteyebilirsiniz. Bu kaynaklar genellikle adı MC_ başlayan bir kaynak grubunda yer alır. Yönetilen küme kaynak grubunun MC_MyResourceGroup_MyManagedCluster_<location-code> gibi bir adı olabilir. Ancak, kümeyi özel olarak yönetilen bir küme kaynak grubu kullanarak derlediyseniz ad farklı olabilir.

Kaynak grubunu bulmak için Azure portalında Kaynak grupları'nı arayın ve seçin ve ardından kümenin oluşturulduğu kaynak grubunu seçin. Kaynak listesi, kaynak grubunun Genel Bakış sayfasında gösterilir.

Uyarı

MC_ kaynak grubundaki kaynakları değiştirmenizi öneririz. Bu eylem AKS kümenizi olumsuz etkileyebilir.

Sanal makine ölçek kümesinin durumunu gözden geçirmek için, kaynak grubunun kaynak listesinden ölçek kümesi adını seçebilirsiniz. Aks-nodepool1-12345678-vmss değerine benzeyen bir Ad değerine ve Sanal makine ölçek kümesinin Tür değerine sahip olabilir. Ölçek kümesinin durumu düğüm havuzunun Genel Bakış sayfasının en üstünde görünür ve Temel Parçalar başlığında daha fazla ayrıntı gösterilir. Dağıtım başarısız olduysa, görüntülenen durum Başarısız olur.

Tüm kaynaklar için, dağıtımın neden başarısız olduğunu daha iyi anlamak için ayrıntıları gözden geçirebilirsiniz. Bir ölçek kümesi için Başarısız durum metnini seçerek hatayla ilgili ayrıntıları görüntüleyebilirsiniz. Ayrıntılar Durum, Düzey ve Kod sütunlarını içeren bir satırda yer alır. Aşağıdaki örnekte sütun değerleri satırı gösterilmektedir.

Sütun Örnek değer
Durum Sağlama başarısız oldu
Level Hata
Kod ProvisioningState/failed/VMExtensionProvisioningError

İleti alanını görmek için satırı seçin. Bu, bu hata hakkında daha fazla bilgi içerir. Örneğin, örnek satırın İleti alanı aşağıdaki metinde başlar:

VM, 'vmssCSE' uzantısı işlenirken bir hata bildirdi. Hata iletisi: "Etkinleştirilemedi: komut yürütülemedi: komut exit status=50 [stdout] [stderr] 0 0 0 --:

Bu bilgilerle birlikte ölçek kümesindeki VM'lerin başarısız olduğu ve çıkış durumu 50 olduğu sonucuna varabilirsiniz.

Not

Küme dağıtımı bu kaynakların oluşturulacağı noktaya ulaşmadıysa, Azure portalında yönetilen küme kaynak grubunu gözden geçiremeyebilirsiniz.

Kubectl komutlarını kullanma

Kümenizdeki hataları gidermeye yardımcı olacak başka bir seçenek için kubectl komutlarını kullanarak kümede dağıtılan kaynaklar hakkında ayrıntılı bilgi edinin. Bunu yapmak için önce AKS kümenizde oturum açın:

az aks get-credentials --resource-group MyResourceGroup --name MyManagedCluster

Hatanın türüne ve ne zaman oluştuğuna bağlı olarak, daha fazla ayrıntı almak için kümenizde oturum açamayabilirsiniz. Ancak kümeniz oluşturulduysa ve Azure portalında görünüyorsa oturum açabilmeniz ve kubectl komutlarını çalıştırabilmeniz gerekir.

Küme düğümlerini görüntüleme (kubectl get düğümleri)

Küme düğümlerinin durumunu belirlemek için komutunu çalıştırarak düğümleri kubectl get nodes görüntüleyin. Bu örnekte, kümede hiçbir düğüm bildirilmemiş:

$ kubectl get nodes

No resources found

Sistem ad alanında podları görüntüleme (kubectl get pods)

Kube-system ad alanında podları görüntülemek de sorununuzu gidermenin iyi bir yoludur. Bu yöntem, Kubernetes sistem podlarının durumunu görüntülemenizi sağlar. Bu örnekte şu komutu gireriz kubectl get pods :

$ kubectl get pods -n kube-system
NAME                                  READY   STATUS    RESTARTS   AGE
coredns-845757d86-7xjqb               0/1     Pending   0          78m
coredns-autoscaler-5f85dc856b-mxkrj   0/1     Pending   0          77m
konnectivity-agent-67f7f5554f-nsw2g   0/1     Pending   0          77m
konnectivity-agent-8686cb54fd-xlsgk   0/1     Pending   0          65m
metrics-server-6bc97b47f7-dfhbr       0/1     Pending   0          77m

Podun durumunu açıklama (kubectl describe pod)

Podların durumunu açıklayarak, yapılandırma ayrıntılarını ve podlarda gerçekleşen tüm olayları görüntüleyebilirsiniz. kubectl describe pods Komutunu çalıştırın:

$ kubectl describe pod coredns-845757d86-7xjqb -n kube-system
Name:                 coredns-845757d86-7xjqb
Namespace:            kube-system
Priority:             2000001000
Priority Class Name:  system-node-critical
Node:                 <none>
Labels:               k8s-app=kube-dns
                      kubernetes.io/cluster-service=true
                      pod-template-hash=845757d86
                      version=v20
...
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  24m (x1 over 25m)   default-scheduler  no nodes available to schedule pods
  Warning  FailedScheduling  29m (x57 over 84m)  default-scheduler  no nodes available to schedule pods

Komut çıkışında, kullanılabilir düğüm olmadığından pod'un bir düğüme dağıtılamadığı görebilirsiniz.

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.