(KULLANıM DıŞı) Kubernetes podlarını ve Kubernetes altyapısını ölçeklendirme

İpucu

Azure Kubernetes Service kullanan bu öğreticinin güncelleştirilmiş sürümü için bkz. Öğretici: Azure Kubernetes Service'de (AKS) uygulamaları ölçeklendirme.

Uyarı

Azure Container Service (ACS) kullanım dışı bırakılıyor. ACS'ye yeni özellik veya işlevsellik eklenmiyor. Tüm API'ler, portal deneyimi, CLI komutları ve belgeleri kullanım dışı olarak işaretlenir.

2017'de Kubernetes yönetimi, dağıtımı ve işlemlerini basitleştirmek için Azure Kubernetes Service (AKS) kullanıma sunulmuştur. Kubernetes düzenleyicisini kullanıyorsanız lütfen 31 Ocak 2020'ye kadar AKS'ye geçin. Başlamak için bkz. Azure Kubernetes Service geçiş.

Daha fazla bilgi için bkz. Azure.com'da Azure Container Service'in kullanımdan kaldırılması duyurusu.

Öğreticileri takip ediyorsanız, Azure Container Service’te çalışan bir Kubernetes kümesine sahipsinizdir ve Azure Voting uygulamasını dağıtmışsınızdır.

Yedi öğreticinin beşinci parçası olan bu öğreticide, uygulamada pod’ları ölçeklendirirsiniz ve otomatik pod ölçeklendirmeyi denersiniz. Ayrıca, barındırılan iş yükleri için kümenin kapasitesini değiştirmek üzere Azure VM aracı düğümlerinin sayısını ölçeklendirmeyi de öğrenirsiniz. Tamamlanan görevler şunları içerir:

  • Kubernetes pod’larını el ile ölçeklendirme
  • Uygulama ön ucunda çalışan Otomatik pod ölçeklendirmeyi yapılandırma
  • Kubernetes Azure aracı düğümlerini ölçeklendirme

Sonraki öğreticilerde Azure Vote uygulaması güncelleştirilir ve Log Analytics, Kubernetes kümesini izlemek için yapılandırılır.

Başlamadan önce

Önceki öğreticilerde, bir uygulama bir kapsayıcı görüntüsüne paketlendi, bu görüntü Azure Container Registry’ye yüklendi ve bir Kubernetes kümesi oluşturuldu. Ardından uygulama Kubernetes kümesinde çalıştırıldı.

Bu adımları tamamlamadıysanız ve takip etmek istiyorsanız, Öğretici 1 – Kapsayıcı görüntüleri oluşturma konusuna dönün.

Pod’ları el ile ölçeklendirme

Şu ana kadar hem Azure Vote ön ucu hem de Redis örneği tek bir çoğaltma dağıtıldı. Doğrulamak için kubectl get komutunu çalıştırın.

https://shell.azure.com tarayıcınızda Cloud Shell açmak için adresine gidin.

kubectl get pods

Çıkış:

NAME                               READY     STATUS    RESTARTS   AGE
azure-vote-back-2549686872-4d2r5   1/1       Running   0          31m
azure-vote-front-848767080-tf34m   1/1       Running   0          31m

kubectl scale komutunu kullanarak azure-vote-front dağıtımında pod’ların sayısını el ile değiştirin. Bu örnek, sayısı 5’e yükseltir.

kubectl scale --replicas=5 deployment/azure-vote-front

kubectl get pods komutunu çalıştırarak Kubernetes’in pod’ları oluşturduğunu doğrulayın. Yaklaşık bir dakika sonra ek pod’lar çalışır:

kubectl get pods

Çıkış:

NAME                                READY     STATUS    RESTARTS   AGE
azure-vote-back-2606967446-nmpcf    1/1       Running   0          15m
azure-vote-front-3309479140-2hfh0   1/1       Running   0          3m
azure-vote-front-3309479140-bzt05   1/1       Running   0          3m
azure-vote-front-3309479140-fvcvm   1/1       Running   0          3m
azure-vote-front-3309479140-hrbf2   1/1       Running   0          15m
azure-vote-front-3309479140-qphz8   1/1       Running   0          3m

Pod’ları otomatik ölçeklendirme

Kubernetes, bir dağıtımdaki pod’ların sayısını CPU kullanımı ve diğer seçili ölçümleri temel alarak ayarlamak için yatay pod otomatik ölçeklendirmeyi destekler.

Otomatik ölçeklendiriciyi kullanmak için pod’larınızın CPU istekleri olmalı ve sınırları tanımlanmış olmalıdır. azure-vote-front dağıtımında, ön uç kapsayıcısı 0,5 sınırlı, 0,25 CPU kullanımı ister. Ayarları şöyle görünür:

resources:
  requests:
     cpu: 250m
  limits:
     cpu: 500m

Aşağıdaki örnek, dağıtımındaki pod’ların sayısını otomatik olarak ölçeklendirmek için kubectl autoscaleazure-vote-front komutunu kullanır. Burada CPU kullanımı %50’yi aşarsa, otomatik ölçeklendirici, pod’ların sayısını üst sınır olan 10’a yükseltir.

kubectl autoscale deployment azure-vote-front --cpu-percent=50 --min=3 --max=10

Otomatik ölçeklendiricinin durumunu görmek için aşağıdaki komutu çalıştırın:

kubectl get hpa

Çıkış:

NAME               REFERENCE                     TARGETS    MINPODS   MAXPODS   REPLICAS   AGE
azure-vote-front   Deployment/azure-vote-front   0% / 50%   3         10        3          2m

Birkaç dakika sonra Azure Vote uygulamasında en az yük ile, pod çoğaltmalarının sayısı otomatik olarak 3’e azalır.

Aracıları ölçeklendirme

Önceki öğreticide Kubernetes kümenizi varsayılan komutları kullanarak oluşturduysanız, burada üç aracı düğümü bulunur. Kümenizde daha fazla veya daha az kapsayıcı iş yükü planlıyorsanız, aracı sayısını el ile ayarlayabilirsiniz. az acs scale komutunu kullanın ve --new-agent-count parametresi ile aracı sayısını belirtin.

Aşağıdaki örnek, myK8sCluster adlı Kubernetes kümesinde aracı düğümlerinin sayısını 4’e yükseltir. Komutun tamamlanması birkaç dakika sürer.

az acs scale --resource-group=myResourceGroup --name=myK8SCluster --new-agent-count 4

Komut çıktısı, aracı düğüm sayısını agentPoolProfiles:count değerinde gösterir:

{
  "agentPoolProfiles": [
    {
      "count": 4,
      "dnsPrefix": "myK8SCluster-myK8SCluster-e44f25-k8s-agents",
      "fqdn": "",
      "name": "agentpools",
      "vmSize": "Standard_D2_v2"
    }
  ],
...

Sonraki adımlar

Bu öğreticide, Kubernetes kümenizde farklı ölçeklendirme özellikleri kullandınız. Dahil edilen görevler:

  • Kubernetes pod’larını el ile ölçeklendirme
  • Uygulama ön ucunda çalışan Otomatik pod ölçeklendirmeyi yapılandırma
  • Kubernetes Azure aracı düğümlerini ölçeklendirme

Kubernetes’te uygulama güncelleştirme hakkında daha fazla bilgi için sonraki öğreticiye ilerleyin.