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 gerçekleşebilir, 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. Ayrıca uygulamalar veya işlemler kararsız duruma 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ında 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:
Azure portalından kümeye gidin.
İzleme altında İçgörüler'i seçin.
Uygun Zaman aralığını ayarlayın.
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 En Büyük'te 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.
Yüksek CPU kullanımına sahip düğümleri bulduğunuzda, düğümleri seçerek üzerinde podları ve bunların CPU kullanımını bulun.
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ından kaçınmak için en iyi yöntemleri gözden geçirin
Yüksek CPU kullanımını önlemeye yönelik en iyi yöntemleri uygulamayı öğrenmek için aşağıdaki tabloyu gözden geçirin:
En iyi uygulama | Açıklama |
---|---|
Kapsayıcılar için uygun sınırları ayarlama | Kubernetes, kapsayıcılar için kaynaklarla ilgili istekleri 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 yüksek kaynak sayısını temsil eder. Her pod için uygun Kubernetes Hizmet Kalitesi (QoS) sınıfını seçmek için uygun istekleri ve sınırları ayarlamanızı öneririz. |
Yatay Pod Otomatik Ölçeklendiricisi’ni (HPA) etkinleştirme | Bir yandan uygun sınırları ayarlayıp bir yandan da HPA'yı etkinleştirmek yüksek CPU kullanımını düzeltmeye 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 kuşatarak zamanlanamaz duruma 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 yöntem sistem düğüm havuzunun aşırı yüklenmesini önleyip daha iyi bir performans sağlayabilir. |
Başvurular
- Kapsayıcı içgörülerine genel bakış
- Kapsayıcı içgörüleriyle Kubernetes kümelerinizin performansını izleyin
- Kapsayıcı içgörüleri aracısını yönetme
- Kaynak Sınırları
- Kaynak Kotaları
- Sınır Aralıkları
- Hizmet Kalitesi
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.