Aracılığıyla paylaş


AKS kümelerinde yüksek CPU kullanımı sorunlarını giderme

Yüksek CPU kullanımı, makinenin performansının veya kullanılabilirliğinin etkilendiği kadar çok CPU süresi gerektiren bir veya daha fazla uygulama veya işlemin belirtisidir. Yüksek CPU kullanımı birçok şekilde ortaya çıkabilir, ancak bunun nedeni çoğunlukla kullanıcı yapılandırmasıdır.

Azure Kubernetes Service (AKS) kümesindeki bir düğüm yüksek CPU kullanımıyla karşılaştığında, üzerinde çalışan uygulamalar performans ve güvenilirlikte düşüş yaşayabilir. Uygulamalar veya işlemler de kararsız hale gelir ve bu da yavaş yanıtların ötesinde sorunlara yol açabilir.

Bu makale, yüksek CPU kullanan düğümleri ve kapsayıcıları belirlemenize yardımcı olur ve yüksek CPU kullanımını çözümlemek için en iyi yöntemleri sağlar.

Belirtiler

Aşağıdaki tabloda, yüksek CPU kullanımının yaygın belirtileri özetlenmiştir:

Belirti Açıklama
CPU açlığı YOĞUN CPU kullanan uygulamalar aynı düğümdeki diğer uygulamaları yavaşlatır.
Yavaş durum değişiklikleri Podların hazır olması daha uzun sürebilir.
NotReady düğüm durumu Düğüm NotReady durumuna girer. Bu sorun, yüksek CPU kullanımına sahip kapsayıcının Kubectl komut satırı aracının yanıt vermemeye başlamasına neden olması nedeniyle oluşur.

Sorun giderme denetim listesi

Yüksek CPU kullanımını çözmek için etkili izleme araçlarını kullanın ve en iyi yöntemleri uygulayın.

1. Adım: Yüksek CPU kullanımına sahip düğümleri/kapsayıcıları tanımlama

Yüksek CPU kullanımına sahip düğümleri ve kapsayıcıları tanımlamak için aşağıdaki yöntemlerden birini kullanın:

  • Web tarayıcısında, Azure portal AKS'nin Container Insights özelliğini kullanın.

  • Konsolda Kubernetes komut satırı aracını (kubectl) kullanın.

Container Insights , AKS içindeki bir özelliktir. Kapsayıcı iş yüklerinin performansını izlemek için tasarlanmıştır. Kapsayıcı içgörülerini kullanarak yüksek CPU kullanımına neden olan düğümleri, kapsayıcıları veya podları tanımlayabilirsiniz.

Yüksek CPU kullanımına neden olan düğümleri, kapsayıcıları veya podları tanımlamak için şu adımları izleyin:

  1. Azure portal kümeye gidin.

  2. İzleme'nin altında İçgörüler'i seçin.

    İçgörüler altındaki İzleme'nin ekran görüntüsü

  3. Uygun Zaman aralığını ayarlayın.

    Altı saatlik zaman aralığının ekran görüntüsü.

  4. Yüksek CPU kullanımına sahip düğümleri bulun ve düğüm CPU kullanımının kararlı olup olmadığını denetleyin.

    Düğümler'i seçin. ÖlçümüCPU Kullanımı (milicores) olarak ayarlayın ve ardından örneği Max olarak ayarlayın. Düğümleri Max% değerine göre sıralamak için Max üzerindeki sıralama özelliğini kullanın. En yüksek CPU kullanımına sahip düğümler en üstte görünür.

    Aşağıdaki ekran görüntüsünde, düğüm maksimum CPU'nun yalnızca %12'sini kullanır ve 16 gündür çalışmaktadır.

    İzleme seçiminin altındaki Düğümlerin ekran görüntüsü.

  5. Yüksek CPU kullanımına sahip düğümleri bulduğunuzda, üzerinde podları ve bunların CPU kullanımını bulmak için düğümleri seçin.

    İzleme seçiminin altındaki podlar için içgörüler seçeneğinin ekran görüntüsü.

    Not

    Podlar için CPU veya bellek kullanımı yüzdesi, kapsayıcı için belirtilen CPU isteğini temel alır. Düğüm için CPU veya bellek kullanımı yüzdesini temsil etmez. Bu nedenle, podlar için CPU veya bellek kullanımı yüzdesi yerine gerçek CPU veya bellek kullanımına bakın.

    Yüksek CPU kullanımına sahip podların listesini aldıktan sonra, cpu kullanımında ani artışa neden olan uygulamalarla eşleyebilirsiniz.

2. Adım: Yüksek CPU kullanımını önlemek için en iyi yöntemleri gözden geçirin

Yüksek CPU kullanımını önlemeye yönelik en iyi yöntemleri nasıl uygulayacağınızı öğrenmek için aşağıdaki tabloyu gözden geçirin:

En iyi yöntem Açıklama
Kapsayıcılar için uygun sınırları ayarlama Kubernetes, kapsayıcılar için kaynaklarda istekler ve sınırlar belirtmeye olanak tanır. Kaynak istekleri ve sınırları, bir kapsayıcının kullanabileceği en düşük ve en fazla kaynak sayısını temsil eder. Her pod için uygun Kubernetes Hizmet Kalitesi (QoS) sınıfını seçmek için uygun istekler ve sınırlar ayarlamanızı öneririz.
Yatay Pod Otomatik Ölçeklendiricisini (HPA) etkinleştirme HPA'nın etkinleştirilmesiyle birlikte uygun sınırların ayarlanması, yüksek CPU kullanımının çözülmesine yardımcı olabilir.
Daha yüksek SKU VM'leri seçme Yüksek CPU iş yüklerini işlemek için daha yüksek SKU VM'leri kullanın. Bunu yapmak için yeni bir düğüm havuzu oluşturun, düğümleri devre dışı bırakarak zamanlanamaz hale getirin ve mevcut düğüm havuzunu boşaltın.
Sistem ve kullanıcı iş yüklerini yalıtma İş yüklerinizi çalıştırmak için ayrı bir düğüm havuzu (aracı havuzu dışında) oluşturmanızı öneririz. Bu, sistem düğümü havuzunun aşırı yüklenmesini önleyebilir ve daha iyi performans sağlayabilir.

Başvurular

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.