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:
Azure portal kümeye gidin.
İzleme'nin 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 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.
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.
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
- Kapsayıcı içgörülerine genel bakış
- Kapsayıcı içgörüleri ile Kubernetes kümenizin performansını izleme
- 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.
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