AKS kullanarak birden çok düğüm yapılandırma ve sıfıra ölçeklendirmeyi etkinleştirme

Tamamlandı

Azure Kubernetes Service, her bir düğüm havuzunda çalışan düğümlerle belirli iş yüklerini eşleştirmek için farklı düğüm havuzları oluşturmanıza olanak sağlar. İş yüklerini düğümlerle eşleştirme işlemi, tüketimi hesaplamayı ve maliyeti iyileştirmeyi planlamanızı sağlar.

Şirketinizin insansız hava aracı izleme çözümü, Azure Kubernetes Service (AKS) üzerine birden çok kapsayıcılı uygulama ve hizmet olarak dağıtılmış durumda. Ekibiniz, sert hava koşullarında uçuş rotası bilgilerini işlemeyi ve en uygun uçuş rotalarını oluşturmayı sağlayan yeni bir tahmine dayalı modelleme hizmeti geliştirdi. Bu hizmet için GPU tabanlı sanal makine (VM) desteği gerekiyor ve hizmet yalnızca haftanın belirli günlerinde çalıştırılıyor.

Uçuş rotası bilgilerini işlemeye ayrılmış bir küme düğümü havuzu yapılandırmak istiyorsunuz. İşlem günde yalnızca birkaç saat boyunca çalışır ve GPU tabanlı bir düğüm havuzu kullanmak istiyorsunuz. Ayrıca düğümler için yalnızca kullandığınız kadar ödeme yapmak istiyorsunuz.

Şimdi düğüm havuzlarının ve AKS'nin düğümleri nasıl kullandığına ve ardından düğüm havuzundaki düğüm sayısını ölçeklendirmeye bakalım.

Düğüm havuzu nedir?

Düğüm havuzu, bir AKS kümesinde bulunan ve aynı yapılandırmaya sahip olan düğüm grubunu ifade eder. Bu düğümler, uygulamalarınızı çalıştıran VM'leri kapsar. AKS tarafından yönetilen bir Kubernetes kümesinde iki farklı türde düğüm havuzu oluşturabilirsiniz:

  • Sistem düğümü havuzları

  • Kullanıcı düğümü havuzları

Sistem düğümü havuzları

Sistem düğümü havuzları, kümenizin denetim düzlemini oluşturan kritik sistem podlarını barındırıyor. Bir sistem düğümü havuzunda düğüm işletim sistemi olarak yalnızca Linux kullanılabilir ve üzerinde yalnızca Linux tabanlı iş yükleri çalıştırılabilir. Sistem düğümü havuzundaki düğümler, sistem iş yükleri tarafından kullanılmak üzere ayrılmıştır ve normalde özel iş yüklerini çalıştırmak için kullanılmaz. Her AKS kümesinde içinde en az bir düğüm olan en az bir sistem düğümü bulunmalıdır ve düğümler için temel alınan VM'lerin boyutlarını da sizin tanımlamanız gerekir.

Kullanıcı düğümü havuzları

Kullanıcı düğümü havuzları, iş yüklerinizi destekler ve düğüm işletim sistemi olarak Windows veya Linux kullanabilirsiniz. Ayrıca düğümlerin temel aldığı VM boyutlarını tanımlayabilir ve belirli iş yüklerini çalıştırabilirsiniz. Örneğin, insansız hava aracı izleme çözümünüz, genel amaçlı VM'ler için yapılandırmaya sahip bir düğüm havuzuna dağıttığınız bir toplu işlem hizmetine sahiptir. Yeni tahmine dayalı modelleme hizmeti için daha yüksek kapasiteli GPU tabanlı VM'ler gerekir. Ayrı bir düğüm havuzu yapılandırmaya ve bunu GPU özellikli düğümleri kullanacak şekilde ayarlamaya karar veriyorsunuz.

Bir düğüm havuzundaki düğümlerin sayısı

Bir düğüm havuzunda en fazla 100 düğüm yapılandırabilirsiniz. Ancak yapılandıracağınız düğüm sayısı, düğüm üzerinde çalışan pod sayısına bağlıdır.

Örneğin bir sistem düğümü havuzunda tek bir düğüm üzerinde çalışacak maksimum pod sayısını 30 olarak belirlemeniz gerekir. Bu değer, küme durumu açısından kritik sistem podlarını çalıştırmak için yeterli alanın kullanılabilir olmasını garanti eder. Pod sayısı bu en düşük değeri aştığında, ek iş yüklerini zamanlamak için havuzda yeni düğümler gerekir. Bu nedenle sistem düğümü havuzunda en az bir düğüm bulunması gerekir. Üretim ortamlarında sistem düğümü havuzu için önerilen düğüm sayısı en az üçtür.

Kullanıcı düğümü havuzları, özel iş yüklerini çalıştıracak şekilde tasarlanmıştır ve 30 pod gereksinimi yoktur. Kullanıcı düğümü havuzları, havuzun düğüm sayısını sıfır olarak ayarlamanızı sağlar.

AKS kümesinde uygulamaya olan talebi yönetme

AKS'de, Kubernetes kümesindeki işlem kaynaklarının miktarını artırdığınızda veya azalttığınızda ölçeklendirme gerçekleştirirsiniz. Çalıştırılması gereken iş yükü örneklerinin sayısını veya bu iş yüklerinin çalıştırıldığı düğüm sayısını ölçeklendikleyebilirsiniz. AKS tarafından yönetilen bir kümedeki iş yüklerini iki yoldan biriyle ölçeklendikleyebilirsiniz. İlk seçenek, podları veya düğümleri el ile gereken şekilde ölçeklendirmektir. İkinci seçenek, podları ölçeklendirmek için yatay pod otomatik ölçeklendiricisini ve düğümleri ölçeklendirmek için küme otomatik ölçeklendiricisini kullanabileceğiniz otomasyondur.

Düğüm havuzunu el ile ölçeklendirme

Belirli bir süre boyunca yürütülen iş yüklerini belirli bilinen aralıklarla çalıştırıyorsanız düğüm havuzu boyutunu el ile ölçeklendirmek, düğüm maliyetlerini denetlemenin iyi bir yoludur.

Tahmine dayalı modelleme hizmetinin GPU tabanlı bir düğüm havuzu gerektirdiğini ve her gün öğle saatinde bir saat boyunca çalıştığını varsayalım. Düğüm havuzunu belirli GPU tabanlı düğümlerle yapılandırıp kümeyi kullanmadığınızda düğüm sayısını sıfırlayabilirsiniz.

Aşağıda düğüm havuzunu oluşturmak için kullanabileceğiniz az aks node pool add komutuna bir örnek verilmiştir. Havuzdaki düğümler için Standard_NC6 GPU tabanlı VM boyutunu belirtmenizi sağlayan --node-vm-size parametresine dikkat edin.

az aks nodepool add \
    --resource-group resourceGroup \
    --cluster-name aksCluster \
    --name gpunodepool \
    --node-count 1 \
    --node-vm-size Standard_NC6 \
    --no-wait

Havuz hazır duruma geldiğinde az aks nodepool scale komutunu kullanarak düğüm havuzunu sıfır düğüm olarak ölçeklendirebilirsiniz. --node-count parametresinin sıfır olarak ayarlandığına dikkat edin. Aşağıda komutun bir örneği verilmiştir:

az aks nodepool scale \
    --resource-group resourceGroup \
    --cluster-name aksCluster \
    --name gpunodepool \
    --node-count 0

Bir kümeyi otomatik olarak ölçeklendirme

Diagram that shows how the cluster autoscaler adds nodes and how the horizontal pod autoscaler adds pods.

AKS, iş yüklerini otomatik olarak ölçeklendirmek için Kubernetes küme ölçeklendiricisini kullanır. Kümeyi ölçeklendirmek için kullanabileceğiniz iki seçenek vardır:

  • Yatay pod otomatik ölçeklendiricisi

  • Küme otomatik ölçeklendiricisi

Yatay pod ölçeklendiricisinden başlayarak iki seçeneği de inceleyelim.

Yatay pod otomatik ölçeklendiricisi

Kubernetes yatay pod otomatik ölçeklendiricisi, kümedeki kaynak talebini izlemenizi ve iş yükü çoğaltması sayısını otomatik olarak ölçeklendirmenizi sağlar.

Kubernetes ölçüm sunucusu, AKS kümesinde çalışan denetleyicilerden, düğümlerden ve kapsayıcılardan bellek ve işlemci ölçümlerini toplar. Bu bilgilere erişmenin bir yolu, Ölçümler API'sini kullanmaktır. Yatay pod otomatik ölçeklendiricisi Ölçümler API'sini her 30 saniyede bir denetler ve uygulamanızın gerekli talebi karşılamak için daha fazla örneğe ihtiyacı olup olmadığına karar verir.

Şirketinizde insansız hava aracı uçuş rotalarını zamanlayan bir toplu işlem hizmeti de olduğunu düşünün. Hizmetin isteklerle dolu olduğunu ve bir teslimat kapsamı oluşturduğunu ve bu da müşteriler için gecikmelere ve sıkıntılara neden olduğunu fark edeceksiniz. Toplu işleme hizmeti çoğaltmalarının sayısını artırmak, siparişlerin zamanında işlenmesini sağlayabilir.

Sorunu çözmek için yatay pod otomatik ölçeklendiricisini gerektiğinde hizmet çoğaltmalarının sayısını artıracak şekilde yapılandırabilirsiniz. Toplu iş isteklerinin sayısı azaldığında, hizmet çoğaltmalarının sayısını azaltır.

Ancak yatay pod otomatik ölçeklendiricisini yalnızca kümenin yapılandırılan düğüm havuzlarındaki uygun düğümlerde pod ölçeklendirme işlemi gerçekleştirir.

Küme otomatik ölçeklendiricisi

Yatay pod otomatik ölçeklendiricisi bir düğüm havuzundaki mevcut düğümlerde başka bir pod zamanlayamazsa kaynak kısıtlaması tetikleniyor. Kısıtlama zamanlarında kümenin düğüm havuzlarındaki düğüm sayısını ölçeklendirmek için küme otomatik ölçeklendiricisini kullanmanız gerekir. Küme otomatik ölçeklendiricisi, tanımlanan ölçümleri denetler ve gerekli işlem kaynağı miktarına göre düğüm sayısını artırıp azaltır.

Küme otomatik ölçeklendiricisi, yatay pod otomatik ölçeklendiricisiyle birlikte kullanılır.

Küme otomatik ölçeklendiricisi, ölçeği artırma ve azaltma olaylarını izleyerek Kubernetes kümesinin değişen talebe göre düğüm havuzundaki düğüm sayısını değiştirmesini sağlar.

Her düğüm havuzu için farklı ölçeklendirme kuralları belirleyebilirsiniz. Örneğin, otomatik ölçeklendirmeye izin vermek için yalnızca bir düğüm havuzu yapılandırmak veya bir düğüm havuzunu yalnızca belirli sayıda düğüme ölçeklendirilecek şekilde yapılandırabilirsiniz.

Önemli

Bir düğüm havuzunda küme otomatik ölçeklendiricisini etkinleştirirseniz düğüm sayısını sıfır olarak ölçeklendiremezsiniz. Bunun yerine, küme kaynaklarına kaydetmek için minimum sayıyı sıfır olarak ayarlayabilirsiniz.

Bilgilerinizi kontrol edin

1.

Üç kritik bileşenden oluşan bir yazılım çözümüne sahip olduğunuzu düşünün. Birinci bileşen bir web uygulamasıdır. İkinci bileşen çevrimiçi siparişleri işleyen bir hizmettir. Üçüncüsü ise geçici olarak çalışan ve GPU tabanlı VM'lere ihtiyaç duyan bir video işleme ve analiz hizmetidir. Maliyeti iyileştirmek için çözümü yönetmek üzere bir Azure Kubernetes Service (AKS) kümesine kaç düğüm havuzu dağıtmanız gerekir?

2.

Aşağıdaki ifadeyi tamamlayın. Kubernetes küme otomatik ölçeklendiricisi...