Başarısız durumdaki kümeler veya düğümler Azure Kubernetes Service sorunlarını giderme
Bu makalede, başarısız duruma giren bir Microsoft Azure Kubernetes Service (AKS) kümesi veya düğümüyle ilgili sorunları giderme işlemi açıklanır.
Yaygın nedenler
Başarısız bir kümenin veya düğüm havuzunun yaygın nedenleri şunlardır:
Neden | Başvuru |
---|---|
Özel Betik Uzantısı (CSE) sanal makinesi (VM) uzantısı sağlama hatası | CSE hatalarının neden olduğu düğüm hazır değil hatalarıyla ilgili sorunları giderme |
Anahtar Azure kaynakları kullanılamıyor | |
Bölgesel/bölgesel kapasite olmadığından VM ayırma hatası | |
Çekirdek kotası aşıldığından vm ayırma hatası | Kota değeri artırıldı hatası |
Müşteri tarafından uygulanan kısıtlamalar | |
İş yükü sorunları |
Küme/düğümün başarısız olmasına neden olan yaygın hatalarda temel sorun giderme
Aşağıdaki tabloda, küme veya düğümün başarısız duruma girmesine neden olabilecek bazı yaygın hatalar, açıklamaları ve bu hataları çözmek için temel sorun giderme yöntemleri özetlenmiştir.
Error | Açıklama | Sorun giderme yöntemi |
---|---|---|
OutboundConnFailVMExtensionError | Bu hata, giden bağlantı olmaması nedeniyle VM uzantısının yüklenemediği veya güncelleştirilemediği anlamına geliyor. | VM veya VM ölçek kümesinin ağ güvenlik grubu (NSG) kurallarını ve güvenlik duvarı ayarlarını denetleyin. VM veya VM ölçek kümesinin şu uç noktalara erişebildiğinden emin olun: https://aka.ms/aks/outbound , https://aka.ms/aks/ssh , https://aka.ms/aks/agent ve https://aka.ms/aks/containerinsights . |
Boşaltma hatası | Bu hata, yükseltme işleminden önce düğümün boşaltılamadığını gösterir. | kubectl komutlarını kullanarak düğümdeki pod durumunu ve olaylarını denetleyin: kubectl get pods --all-namespaces -o wide ve kubectl describe pod <pod-name> -n <namespace> . Sonlandırılmış veya bilinmeyen bir durumda ya da olaylardaki hata veya uyarılarla takılmış podları arayın. Podları zorla silmeniz veya düğümdeki kubelet hizmetini yeniden başlatmanız gerekebilir. |
SubscriptionNotRegistered hatası | Bu hata, aboneliğin AKS kaynak sağlayıcısını kullanacak şekilde kaydedilmediğini gösterir. | komutunu kullanarak az provider register --namespace Microsoft.ContainerService aboneliği kaydedin. |
RequestDisallowedByPolicy hatası | Bu hata, işlemin aboneliğe veya kaynak grubuna uygulanan bir ilke tarafından engellendiğini gösterir. | İlke ayrıntılarını ve ilke atama kapsamlarını gözden geçirin. İşleme izin vermek için ilkeyi değiştirmeniz veya dışlamanız gerekebilir. |
QuotaExceeded hatası | Bu hata, işlemin bir kaynak türü veya bölge için kota sınırını aştığını gösterir. | Azure portal, Azure CLI veya Azure PowerShell kullanarak kaynak türü veya bölge için geçerli kota kullanımını ve kota sınırını denetleyin. Kullanılmayan bazı kaynakları silmeniz veya kota artışı istemeniz gerekebilir. |
PublicIPCountLimitReached hatası | Bu hata, işlemin bir abonelikte veya bölgede oluşturulabilecek genel IP adresi sayısı üst sınırına ulaştığını gösterir. | Azure portal, Azure CLI veya Azure PowerShell kullanarak abonelik veya bölge için geçerli genel IP adresi kullanımını ve sınırını denetleyin. Kullanılmayan bazı genel IP adreslerini silmeniz veya genel IP adresi sınırında artış istemeniz gerekebilir. |
OverconstrainedAllocationRequest hatası | Bu hata, işlemin istenen VM boyutunu bir bölgede ayıradığını gösterir. | Azure portal, Azure CLI veya Azure PowerShell kullanarak bölgedeki VM boyutunun kullanılabilirliğini denetleyin. Farklı bir VM boyutu veya farklı bir bölge seçmeniz gerekebilir. |
ReadOnlyDisabledSubscription hatası | Bu hata, aboneliğin şu anda devre dışı bırakıldığını ve salt okunur olarak ayarlandığını gösterir. | Faturalama sorunları, süresi dolan kredi veya ilke ihlalleri nedeniyle abonelik askıya alınmış olabileceğinden abonelik izinlerini gözden geçirin ve ayarlayın. |
Küme/düğümün başarısız olmasına neden olan diğer olası sorunlarda temel sorun giderme
Bu tabloda, küme veya düğümün başarısız duruma girmesine neden olabilecek diğer olası sorunlar, bunların açıklamaları ve bu sorunları düzeltmeye yönelik çözümler açıklanmaktadır.
Sorun | Açıklama | Çözüm |
---|---|---|
Alt ağ boyutu çok küçük | Alt ağda gerekli sayıda düğüm için yeterli alan olmadığından işlem kümeyi oluşturamıyor veya güncelleştiremiyor. | düğüm havuzunu silin ve Azure portal, Azure CLI veya Azure PowerShell kullanarak daha büyük bir alt ağ boyutuna sahip yeni bir havuz oluşturun. |
Sanal ağ engellendi | Güvenlik duvarı veya özel Etki Alanı Adı Sistemi (DNS) ayarı düğümlerden giden bağlantıları engellediğinden işlem küme API sunucusu veya Kubernetes denetim düzlemi ile birleştiremiyor. | Düğümün güvenlik duvarı üzerindeki trafiğine izin verin ve Azure portal, Azure CLI veya Azure PowerShell kullanarak Azure'a DNS çözümlemesini ayarlayın. |
PDB sorunları | PDB bir veya daha fazla podun kaldırılmasını durdurduğu için işlem kümeyi güncelleştiremiyor. PDB, belirli bir süre boyunca kaç pod'un gönüllü olarak sonlandırılabileceğini sınırlayan bir kaynaktır. | PDB'yi geçici olarak kaldırın, kümeyi uzlaştırın ve kubectl komut satırı aracını kullanarak PDB'yi yeniden ekleyin. |
Altyapı sorunları | Azure'daki kaynakları yöneten Azure Resource Manager (ARM) hizmetiyle ilgili bir iç sorun nedeniyle işlem kümeyi güncelleştiremiyor. | Azure CLI veya Azure PowerShell kullanarak her düğüm havuzu için bir aracı havuzu mutabakatı ve yönetilen küme için bir mutabakat yapın. |
API sunucusu hataları | Bir kesinti veya hata nedeniyle işlem küme API sunucusuna veya Kubernetes denetim düzlemine ulaşamıyor. | Bunu AKS destek ekibine bildirin ve ilgili günlükleri ve tanılama bilgilerini sağlayın. Azure portal, Azure CLI veya Azure PowerShell kullanarak günlükleri ve tanılama bilgilerini alabilirsiniz. |
Not
- Önceki tabloda bahsedilen işlem, müşteri tarafından tetiklenen herhangi bir güncelleştirme (
PUT
) işlemini ifade eder. - Kubernetes'te bir denetleyici içinde bir bileşen vardır. Küme durumu ve Kubelet için kapsayıcıları çalıştırma veya bulut sağlayıcısı için yük dengeleyiciler gibi olası dış durumlar da dahil olmak üzere dünyanın gerçek durumunu güvence altına alır. Nesnede belirtilen istenen durumla hizalanır. Bu hizalama işlemi denetleyicinin önemli bir işlevidir. AKS için bu bileşen, AKS kümesinin durumunun istenen yapılandırmayla hizalanmasını sağlar. El ile tetikleme için komutunu çalıştırın
az resource update --ids <AKS cluster id>
. KOMUTUNU çalıştırarakaz aks show -n <cluster name> -g <cluster resource group> -o json --query id
AKS küme kimliğini alabilirsiniz. Gerçek ve istenen durumlar arasında farklar varsa, bu tutarsızlıkları düzeltmek için gerekli eylemleri gerçekleştirin.
Sağlama Durumu Denetimi
Küme durumunu denetlemek için Sağlama Durumu Denetimi'ni seçin. Ardından kümenin ve aracı havuzunun sağlama durumu gösterilir.
Senaryo 1: Küme başarısız durumda
Bu sorunu çözmek için hataya neden olan işlemi alın ve hatayı çözün. Başarısız bir kümeye neden olabilecek iki yaygın işlem hatası şunlardır:
- Küme oluşturulamadı
- Küme yükseltmesi başarısız oldu
Yakın zamanda oluşturulan veya yükseltilen bir küme başarısız durumdaysa, hatayı gidermek için aşağıdaki yöntemleri kullanın:
Hatanın kök nedenini belirlemek için etkinlik günlüğünü inceleyin.
etkinlik günlüğünü Azure portal, Azure CLI veya Azure PowerShell kullanarak görüntüleyebilirsiniz.
Etkinlik günlüğü hatayla ilişkili hata kodunu ve iletiyi gösterebilir. Belirli hatalar hakkında daha fazla bilgi için küme /düğümün başarısız olmasına neden olan yaygın hataların temel sorunlarını giderme bölümüne bakın.
Yaygın sorunları gidermek ve çözmek için AKS Sorunlarını Tanılama ve Çözme özelliğini kullanın.
Not
Bu özellik yalnızca Azure portal ve Azure CLI'da kullanılabilir.
Azure portal kullanarak başarısız bir kümenin etkinlik günlüğünü görüntüleme
başarısız bir kümenin etkinlik günlüklerini Azure portal görüntülemek için şu adımları izleyin:
Azure portal Kaynak grupları sayfasına gidin ve kümenizi içeren kaynak grubunu seçin.
Genel Bakış sayfasında, kaynak listesinden küme adını seçin.
Küme sayfasında, soldaki menüden Etkinlik günlüğü'nü seçin.
Etkinlik günlüğü sayfasında, olayları Durum, Zaman Aralığı, Tarafından başlatılan Olay ve Olay kategorisine göre filtreleyebilirsiniz. Örneğin, durum açılan listesinden Başarısız'ı seçerek yalnızca başarısız olayları görebilirsiniz.
Bir olayın ayrıntılarını denetlemek için listeden olay adını seçin. Olay özeti, özellikler ve JSON verilerini içeren yeni bir bölme açılır. JSON verilerini dosya olarak da indirebilirsiniz.
Olayla ilişkili hata kodunu ve iletiyi denetlemek için, olay özetindeki Durum bölümüne kadar aşağı kaydırın. Hata bilgilerini özellikler ve JSON verileri bölümlerinde de bulabilirsiniz.
Azure CLI kullanarak başarısız bir kümenin etkinlik günlüğünü görüntüleme
Başarısız bir kümenin etkinlik günlüğünü görüntülemek için Azure CLI kullanmayı tercih ediyorsanız şu adımları izleyin:
Makinenize Azure CLI yükleyin ve Azure hesabınızla oturum açın.
komutunu kullanarak
az group list
aboneliğinizdeki kaynak gruplarını listeleyin ve kümenizi içeren kaynak grubunun adını bulun.parametresiyle
--resource-group
komutunu kullanarakaz resource list
kaynak grubundaki kaynakları listeleyin ve kümenin adını bulun.ve
--resource
parametreleriyle komutunu kullanarak kümeninaz monitor activity-log list
--resource-group
etkinlik günlüğünü listeleyin. Olayları farklı ölçütlere göre filtrelemek için ,--start-time
--end-time
, ,--caller
ve--filter
parametrelerini de kullanabilirsiniz--status
. Örneğin, yalnızca başarısız olayları görmek için kullanabilirsiniz--status Failed
., ve
--event-id
parametreleriyle--resource
--resource-group
komutunu kullanarakaz monitor activity-log show
belirli bir olayın ayrıntılarını gösterin. Olay kimliğini önceki komutun çıktısından bulabilirsiniz. Çıkış olay özetini, özellikleri ve JSON verilerini içerir. Çıkış biçimini değiştirmek için parametresini de kullanabilirsiniz--output
.Olayla ilişkili hata kodunu ve iletiyi görmek için komut çıkışında alanını arayın
statusMessage
. Hata bilgilerini özellikler ve JSON verileri bölümlerinde de bulabilirsiniz.
Başarısız bir küme için AKS Tanılama ve Sorunları Çözme özelliğini kullanma
Azure portal AKS küme kaynağınıza gidin ve sol menüden Sorunları tanıla ve çöz'e tıklayın. Tanılama denetimlerini çalıştırmak ve önerilen çözümleri almak için seçebileceğiniz kategorilerin ve senaryoların listesini görürsünüz.
Azure CLI'de, küme düğümlerinizden tanılama verileri toplamak için ve --resource-group
parametreleriyle komutunu --name
kullanınaz aks collect
. Verilerin karşıya yüklendiği bir Azure Depolama hesabı belirtmek için ve --sas-token
parametrelerini de kullanabilirsiniz--storage-account
. Çıktı, sonuçları ve önerilen eylemleri görüntüleyebileceğiniz Sorunları Tanıla ve Çöz dikey penceresinin bağlantısını içerir.
Sorunları Tanıla ve Çöz dikey penceresinde, kategori olarak Küme Sorunları'nı seçebilirsiniz. Herhangi bir sorun algılanırsa, bunları düzeltmek için izleyebileceğiniz olası çözümlerin bir listesini görürsünüz.
Senaryo 2: Düğüm başarısız durumda
Nadir durumlarda, bir Azure Disk ayırma işlemi kısmen başarısız olabilir ve bu da düğüm VM'sini başarısız durumda bırakır.
Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanarak VM durumunu el ile güncelleştirin:
Kullanılabilirlik kümesini temel alan bir küme için aşağıdaki az vm update komutunu çalıştırın:
az vm update --resource-group <resource-group-name> --name <vm-name>
VM ölçek kümesini temel alan bir küme için aşağıdaki az vmss update-instances komutunu çalıştırın:
az vmss update-instances --resource-group <resource-group-name> --name <scale-set-name> --instance-id <vm-or-scale-set-id>
Senaryo 3: Düğüm havuzu başarısız durumda
Düğüm havuzunu destekleyen VM ölçek kümesi veya kullanılabilirlik kümesi sağlama, ölçeklendirme veya güncelleştirme sırasında bir hatayla karşılaştığında bu sorun oluşabilir. Bu sorun yetersiz kapasite, kota sınırları, ağ sorunları, ilke ihlalleri, kaynak kilitleri veya VM'nin düzgün ayrılmasını veya yapılandırılmasını engelleyen diğer faktörlerden kaynaklanabilir.
Bu sorunu gidermek için şu adımları izleyin:
- komutunu kullanarak
az aks nodepool show
düğüm havuzunun durumunu denetleyin. Sağlama durumu iseFailed
, çıkışta hata iletisini ve kodu görebilirsiniz. - veya
az vm availability-set show
komutunu kullanarak VM ölçek kümesinin veya kullanılabilirlik kümesininaz vmss show
durumunu denetleyin. Sağlama durumu iseFailed
, çıkışta hata iletisini ve kodu görebilirsiniz. - veya
az vm list
komutunu kullanarak düğüm havuzundaki tek tek VM'ninaz vmss list-instances
durumunu denetleyin. Herhangi birFailed
VM veyaUnhealthy
durumundaysa, çıkışta hata iletisini ve kodu görebilirsiniz. - Hatanın nedenini gösteren herhangi bir olay veya uyarı olup olmadığını görmek için VM ölçek kümesinin veya kullanılabilirlik kümesinin etkinlik günlüğünü ve tanılama ayarını denetleyin. Etkinlik günlüğüne ve tanılama ayarına erişmek için Azure portal, Azure CLI veya Azure İzleyici API'sini kullanabilirsiniz.
- Düğüm havuzunun dağıtıldığı bölge ve aboneliğin kotasını ve kapasitesini denetleyin. Kotayı ve kapasiteyi
az vm list-usage
denetlemek için komutunu veya Azure portal kullanabilirsiniz. Kota veya kapasite sınırına ulaşılırsa, bir artış isteyebilir veya kullanılmayan bazı kaynakları silebilirsiniz. - Düğüm havuzunun ilke ve rol atamalarını denetleyin. İlke tanımlarını
az policy
, atamaları, uyumluluğu ve muafiyetleri denetlemek için veaz role
komutlarını veya Azure portal kullanabilirsiniz. Ayrıca komutunu veya Azure portal kullanarakaz role assignment
düğüm havuzunun rol atamalarını ve izinlerini de de de kontrol edebilirsiniz. - Düğüm havuzunun kaynak kilitlerini denetleyin. Kilit düzeyini, kapsamı ve notları denetlemek için komutunu veya Azure portal kullanabilirsiniz
az lock
. Gerekirse kilidi silebilir veya güncelleştirebilirsiniz.
Diğer günlük ve tanılama araçları
Önceki sorun giderme yöntemleri sorununuzu çözmezse, daha fazla bilgi toplamak ve kök nedeni belirlemek için aşağıdaki günlük ve tanılama araçlarını kullanabilirsiniz:
Kapsayıcılar için Azure İzleyici:
Bu hizmet AKS kümelerinden ve düğümlerden ölçümleri ve günlükleri toplar ve analiz eder. Kapsayıcılar için Azure İzleyici küme ve düğüm durumunu, performansını ve kullanılabilirliğini izleyebilir. Kapsayıcı günlüklerini, kubelet günlüklerini ve düğüm önyükleme tanılama günlüklerini görüntülemek için de kullanabilirsiniz.
-
Bu araç bir AKS kümesinden düğüm ve pod günlüklerini, ağ bilgilerini ve küme yapılandırmasını toplar ve bunları bir Azure depolama hesabına yükler. Bu araç DNS çözümlemesi, ağ bağlantısı ve düğüm durumu gibi yaygın küme sorunlarını gidermenize yardımcı olabilir. Ayrıca, toplanan günlüklerin eklendiği bir destek isteği oluşturmak için de kullanabilirsiniz.
AKS Tanılama
Bu araç AKS kümeleri ve düğümler üzerinde bir dizi denetim çalıştırır ve yaygın sorunlar için öneriler ve düzeltme adımları sağlar. Bu araç küme oluşturma, yükseltme, ölçeklendirme, ağ, depolama ve güvenlikle ilgili sorunları gidermenize yardımcı olabilir. Tanılama sonuçlarının eklendiği bir destek isteği oluşturmak için de kullanabilirsiniz.
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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin