Aracılığıyla paylaş


Azure Kubernetes Service'te (AKS) dikey pod otomatik ölçeklendirme

Bu makalede, açık kaynak Kubernetes sürümünü temel alan Azure Kubernetes Service'te (AKS) Dikey Pod Otomatik Ölçeklendiricisi'ni (VPA) kullanmaya genel bir bakış sağlanır.

Yapılandırıldığında VPA, geçmiş kullanıma göre iş yükü başına kapsayıcılara yönelik kaynak isteklerini ve sınırlarını otomatik olarak ayarlar. VPA, diğer podlar için CPU ve Bellek sağlar ve AKS kümelerinizin etkili bir şekilde kullanımını sağlamaya yardımcı olur. Dikey Pod Otomatik Ölçeklendiricisi, zaman içinde kaynak kullanımına yönelik öneriler sağlar. Kaynak kullanımındaki ani artışları yönetmek için, gerektiğinde pod çoğaltmalarının sayısını ölçeklendirin Yatay Pod Otomatik Ölçeklendiricisi'ni kullanın.

Sosyal haklar

Dikey Pod Otomatik Ölçeklendiricisi aşağıdaki avantajları sunar:

  • uygulamalarınızı doğru boyutlandırmak için işlemci ve bellek kaynaklarını analiz eder ve ayarlar. VPA yalnızca ölçeği artırmaktan değil, aynı zamanda zaman içindeki kaynak kullanımına göre ölçeği azaltmaktan da sorumludur.
  • Ölçeklendirme modu otomatik veya yeniden oluşturma olarak ayarlanmış bir pod, kaynak isteklerini değiştirmesi gerekiyorsa çıkarılır.
  • Bir kaynak ilkesi belirterek tek tek kapsayıcılar için CPU ve bellek kısıtlamaları ayarlayabilirsiniz.
  • Düğümlerin pod zamanlaması için doğru kaynaklara sahip olmasını sağlar.
  • İşlemcide veya bellek kaynaklarında yapılan tüm ayarlamaların yapılandırılabilir günlüğe kaydedilmesini sağlar.
  • Küme kaynak kullanımını geliştirir ve diğer podlar için CPU ve bellek boşaltın.

Sınırlamalar ve önemli noktalar

Dikey Pod Otomatik Ölçeklendiricisi'ni kullanırken aşağıdaki sınırlamaları ve dikkate alınacak noktaları göz önünde bulundurun:

  • VPA, küme başına nesnelerle VerticalPodAutoscaler ilişkili en fazla 1.000 pod destekler.
  • VPA, pod'un bir düğüme atanmasını ve yetersiz kaynak nedeniyle çalıştırılmasını engelleyen kümedeki kullanılabilir kaynaklardan daha fazla kaynak önerebilir. LimitRange değerini ad alanı başına kullanılabilir en fazla kaynak olarak ayarlayarak bu sınırlamanın üstesinden gelebilirsiniz. Bu, podların belirtilenden daha fazla kaynak istememesini sağlar. Ayrıca bir VerticalPodAutoscaler nesnedeki pod başına izin verilen en fazla kaynak önerilerini de ayarlayabilirsiniz. VPA, yetersiz düğüm kaynağı sorununun üstesinden gelemiyor. Sınır aralığı sabittir, ancak düğüm kaynak kullanımı dinamik olarak değiştirilir.
  • VPA'yı aynı CPU ve bellek kullanım ölçümlerine göre ölçeklendirilen Yatay Pod Otomatik Ölçeklendiricisi (HPA) ile kullanmanızı önermeyiz.
  • VPA Recommender yalnızca sekiz güne kadar geçmiş verileri depolar.
  • VPA, iş yükünün gerçek bellek kullanımına yönelik sınırlı görünürlük nedeniyle JVM tabanlı iş yüklerini desteklemez.
  • VPA, kendi VPA uygulamanızın yanı sıra çalıştırılmasını desteklemez. Fazladan veya özelleştirilmiş bir öneri sahibi olması desteklenir.
  • AKS Windows kapsayıcıları desteklenmez.

VPA'ya genel bakış

VPA nesnesi üç bileşenden oluşur:

  • Öneren: Öneren, ölçüm geçmişi, Bellek Yetersiz (OOM) olayları ve VPA dağıtım belirtimleri dahil olmak üzere geçerli ve geçmiş kaynak tüketimini izler ve kapsayıcı CPU ve Bellek istekleri/sınırları için önerilen değerler sağlamak üzere topladığı bilgileri kullanır.
  • Güncelleştirici: Güncelleştirici, kaynak isteklerinin doğru ayarlandığından emin olmak için yönetilen podları izler. Aksi takdirde, bu podları kaldırır, böylece denetleyicileri güncelleştirilmiş isteklerle bunları yeniden oluşturabilir.
  • VPA Erişim Denetleyicisi: VPA Erişim Denetleyicisi, Denetleyicisi tarafından oluşturulan veya yeniden oluşturulan yeni podlardaki doğru kaynak isteklerini Güncelleştirici'nin etkinliğine göre ayarlar.

VPA erişim denetleyicisi

VPA Erişim Denetleyicisi, kendisini Mutating Admission Webhook olarak kaydeden bir ikili dosyadır. Yeni bir pod oluşturulduğunda, VPA Erişim Denetleyicisi API sunucusundan bir istek alır ve eşleşen bir VPA yapılandırması olup olmadığını değerlendirir veya karşılık gelen bir pod bulur ve podda kaynak isteklerini ayarlamak için geçerli öneriyi kullanır.

Tek başına bir iş olan overlay-vpa-cert-webhook-check, VPA Erişim Denetleyicisi'nin dışında çalışır. İş sertifikaları overlay-vpa-cert-webhook-check oluşturup yeniler ve VPA Erişim Denetleyicisi'ni olarak MutatingWebhookConfigurationkaydeder.

VPA nesne işlem modları

Otomatik olarak hesaplanan kaynak gereksinimlerine sahip olmasını istediğiniz her denetleyici için en yaygın dağıtım olan Dikey Pod Otomatik Ölçeklendiricisi kaynağı eklenir.

VPA'nın çalıştığı dört mod vardır:

  • Auto: VPA, pod oluşturma sırasında kaynak istekleri atar ve tercih edilen güncelleştirme mekanizmasını kullanarak mevcut podları güncelleştirir. Auto, ile eşdeğerdir Recreate, varsayılan moddur. Pod isteklerinin güncelleştirmeleri yeniden başlatmadan veya yerinde kullanıma sunulduktan sonra, mod tarafından Auto tercih edilen güncelleştirme mekanizması olarak kullanılabilir. Mod sayesinde Auto VPA, kaynak isteklerini değiştirmesi gerekiyorsa bir pod çıkartır. Podların tümünün aynı anda yeniden başlatılmasına neden olabilir ve bu da uygulama tutarsızlıklarına neden olabilir. PodDisruptionBudget kullanarak yeniden başlatmaları sınırlayabilir ve bu durumda tutarlılığı koruyabilirsiniz.
  • Recreate: VPA, pod oluşturma sırasında kaynak istekleri atar ve istenen kaynaklar yeni önerilerden önemli ölçüde farklı olduğunda (tanımlanmışsa PodDisruptionBudget'e saygı göstererek) bunları çıkararak mevcut podları güncelleştirir. Bu modu yalnızca kaynak isteği değiştiğinde podların yeniden başlatıldığından emin olmanız gerekiyorsa kullanmanız gerekir. Aksi takdirde, kullanılabilir olduğunda yeniden başlatmasız güncelleştirmelerden yararlanan modu kullanmanızı Auto öneririz.
  • Initial: VPA yalnızca pod oluşturma sırasında kaynak istekleri atar. Mevcut podları güncelleştirmez. Bu mod, çalışan podları etkilemeden VPA davranışını test edip anlamak için kullanışlıdır.
  • Off: VPA, podların kaynak gereksinimlerini otomatik olarak değiştirmez. Öneriler hesaplanır ve VPA nesnesinde incelenebilir.

Uygulama geliştirme için dağıtım düzeni

VPA'yı tanımıyorsanız, uygulama geliştirme sırasında benzersiz kaynak kullanım özelliklerini tanımlamak için aşağıdaki dağıtım desenini kullanmanızı, düzgün çalıştığını doğrulamak için VPA'yı test etmelerini ve kümenin kaynak kullanımını iyileştirmek için diğer Kubernetes bileşenlerini test etmelerini öneririz:

  1. VPA'yı test edebilmeniz ve tanımanız için üretim kümenizde ayarlayın UpdateMode = "Off" ve VPA'yı öneri modunda çalıştırın. UpdateMode = "Off" bir kesintiye neden olabilecek bir yanlış yapılandırmanın ortaya çıkmasını önleyebilir.
  2. Belirli bir süre boyunca gerçek kaynak kullanımı telemetrisi toplayarak gözlemlenebilirlik sağlayın. Bu, kapsayıcı ve pod kaynaklarından gelen ve üzerinde çalışan iş yüklerinin etkilediği sorunların davranışını ve işaretlerini anlamanıza yardımcı olur.
  3. Performans özelliklerini anlamak için izleme verilerini tanıyın. Bu içgörüye dayanarak, istenen istekleri/sınırları uygun şekilde ayarlayın ve ardından sonraki dağıtım veya yükseltmede.
  4. Değeri Auto, Recreateveya Initial gereksinimlerinize bağlı olarak olarak ayarlayınupdateMode.

Sonraki adımlar

AKS kümenizde Dikey Pod Otomatik Ölçeklendiricisi'ni ayarlamayı öğrenmek için bkz . AKS'de Dikey Pod Otomatik Ölçeklendiricisi'ni kullanma.