Aracılığıyla paylaş


Azure Kubernetes Service'te (AKS) düğüm kaynak rezervasyonları

Bu makalede, Azure Kubernetes Service'teki (AKS) düğüm kaynak rezervasyonları hakkında bilgi edinirsiniz.

Kaynak rezervasyonları

AKS, düğümlerin kümenin bir parçası olarak çalışmasına yardımcı olmak için düğüm kaynaklarını kullanır. Bu kullanım, düğümün toplam kaynaklarıyla AKS'deki allocatable kaynakları arasında tutarsızlığa neden olabilir.

AKS, düğüm performansını ve işlevselliğini korumak için her düğümde CPU ve bellek olmak üzere iki tür kaynak ayırır. Kaynaklarda düğüm büyüdükçe, kullanıcı tarafından dağıtılan podların yönetimine daha fazla ihtiyaç duyularak kaynak rezervasyonları da artar. Bir düğümdeki kaynak rezervasyonlarını değiştirebileceğinizi unutmayın.

CPU ayırmaları

Ayrılmış CPU, düğüm türüne ve küme yapılandırmasına bağlıdır ve bu da ek özelliklerin çalıştırılması nedeniyle daha az allocatable CPU'ya neden olabilir. Aşağıdaki tabloda CPU rezervasyonları milicore cinsinden gösterilmektedir:

Konakta CPU çekirdekleri 1 çekirdek 2 çekirdek 4 çekirdek 8 Çekirdek 16 çekirdek 32 çekirdek 64 çekirdek
Kube ayrılmış CPU (milicore) 60 100 140 180 260 420 740

Bellek ayırmaları

AKS'de ayrılmış bellek iki değerin toplamından oluşur:

AKS 1.29 ve üzeri

  • kubeletdaemon varsayılan olarak memory.available < 100 Mi çıkarma kuralına sahiptir. Bu kural, bir düğümün her zaman en az 100 Mi allocatable olmasını sağlar. Bir konak kullanılabilir bellek eşiğinin altında olduğunda, kubelet çalışan podlardan birinin sonlandırılmasına neden olur ve konak makinede bellek boşaltılır.

  • Daha düşük değere göre ayarlanan bellek ayırma oranı: 20 MB * Düğümde desteklenen Maksimum Pod sayısı + toplam sistem bellek kaynaklarının %25'i veya 50 MB.

    Örnekler:

    • Sanal makine (VM) 8 GB bellek sağlıyorsa ve düğüm en fazla 30 pod destekliyorsa AKS, kube ayrılmış için 20 MB * 30 Maksimum Pod + 50 MB = 650 MB ayırır. Allocatable space = 8 GB - 0.65 GB (kube-reserved) - 0.1 GB (eviction threshold) = 7.25 GB or 90.625% allocatable.
    • VM 4 GB bellek sağlıyorsa ve düğüm en fazla 70 pod destekliyorsa, 20 MB * 70 Maksimum Pod + 50 MB = 1450 MB'tan az olduğundan AKS kube ayrılmış için %25 * 4 GB = 1000 MB ayırır.

    Daha fazla bilgi için bkz . AKS kümesinde düğüm başına en fazla pod yapılandırma.

1.29 öncesi AKS sürümleri

  • kubeletdaemon varsayılan olarak memory.available < 750 Mi çıkarma kuralına sahiptir. Bu kural, bir düğümün her zaman en az 750 Mi allocatable olmasını sağlar. Bir konak kullanılabilir bellek eşiğinin altında olduğunda, kubelet çalışan podlardan birinin sonlandırılmasına neden olur ve konak makinesinde bellek boşaltılır.
  • Kubelet daemon'un düzgün çalışması (kube-reserved) için gerilemeli bellek ayırma oranı.
    • İlk 4 GB belleğin %25'i
    • Sonraki 4 GB belleğin %20'sini (8 GB'a kadar)
    • Sonraki 8 GB belleğin %10'unu (16 GB'a kadar)
    • Sonraki 112 GB belleğin %6'sı (128 GB'a kadar)
    • 128 GB'tan fazla belleğin %2'sini

Not

AKS, hesaplanan belleğin parçası olmayan Windows düğümlerindeki sistem işlemleri için fazladan 2 GB ayırır.

Bellek ve CPU ayırma kuralları şunlar için tasarlanmıştır:

  • Bazı barındırma sistemi podları küme durumu açısından kritik de dahil olmak üzere aracı düğümlerini iyi durumda tutun.
  • Düğümün Kubernetes kümesinin parçası değilse bildireceğinden daha az allocatable bellek ve CPU raporlamasına neden olur.

Örneğin, bir düğüm 7 GB sunuyorsa, 750 Mi sabit çıkarma eşiği dahil olmak üzere belleğin %34'ünü algılanamaz olarak bildirir.

0.75 + (0.25*4) + (0.20*3) = 0.75 GB + 1 GB + 0.6 GB = 2.35 GB / 7 GB = 33.57% reserved

Kubernetes'in kendi rezervasyonlarına ek olarak, temel düğüm işletim sistemi de işletim sistemi işlevlerini korumak için bir miktar CPU ve bellek kaynağı ayırır.

İlişkili en iyi yöntemler için bkz . AKS'deki temel zamanlayıcı özellikleri için en iyi yöntemler.

Sonraki adımlar