Öğretici - Azure Kubernetes Service'te (AKS) uygulamaları ölçeklendirme
Önceki öğreticileri izlediyseniz çalışan bir Kubernetes kümeniz ve Azure Store Ön uygulamanız vardır.
Yedinin altıncı bölümü olan bu öğreticide uygulamadaki podların ölçeğini genişletecek, pod otomatik ölçeklendirmesini deneyecek ve azure VM düğümlerinin sayısını ölçeklendirin ve kümenin iş yüklerini barındırma kapasitesini değiştirin. Şunları yapmayı öğreneceksiniz:
- Kubernetes düğümlerini ölçeklendirin.
- Uygulamanızı çalıştıran Kubernetes podlarını el ile ölçeklendirin.
- Uygulama ön ucunu çalıştıran otomatik ölçeklendirme podlarını yapılandırın.
Başlamadan önce
Önceki öğreticilerde bir uygulamayı kapsayıcı görüntüsüne paketlediyseniz, görüntüyü Azure Container Registry'ye yüklediyseniz, aks kümesi oluşturdunuz, bir uygulama dağıttınız ve güncelleştirilmiş bir uygulamayı yeniden dağıtmak için Azure Service Bus'ı kullandınız. Bu adımları tamamlamadıysanız ve takip etmek istiyorsanız, Öğretici 1 - AKS için uygulama hazırlama ile başlayın.
Bu öğretici için Azure CLI sürüm 2.34.1 veya üzeri gerekir. Sürümü bulmak için az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
Pod’ları el ile ölçeklendirme
komutunu kullanarak
kubectl get
kümenizdeki podları görüntüleyin.kubectl get pods
Aşağıdaki örnek çıktıda Azure Store Front uygulamasını çalıştıran podlar gösterilmektedir:
NAME READY STATUS RESTARTS AGE order-service-848767080-tf34m 1/1 Running 0 31m product-service-4019737227-2q2qz 1/1 Running 0 31m store-front-2606967446-2q2qz 1/1 Running 0 31m
komutunu kullanarak depo ön dağıtımındaki pod sayısını el ile
kubectl scale
değiştirin.kubectl scale --replicas=5 deployment.apps/store-front
komutunu kullanarak ek podların oluşturulduğunu
kubectl get pods
doğrulayın.kubectl get pods
Aşağıdaki örnek çıktı, Azure Store Ön uygulamasını çalıştıran ek podları gösterir:
READY STATUS RESTARTS AGE store-front-2606967446-2q2qzc 1/1 Running 0 15m store-front-3309479140-2hfh0 1/1 Running 0 3m store-front-3309479140-bzt05 1/1 Running 0 3m store-front-3309479140-fvcvm 1/1 Running 0 3m store-front-3309479140-hrbf2 1/1 Running 0 15m store-front-3309479140-qphz8 1/1 Running 0 3m
Pod’ları otomatik ölçeklendirme
Yatay pod otomatik ölçeklendiricisini kullanmak için tüm kapsayıcıların tanımlı CPU isteklerine ve sınırlarına ve podların belirtilen isteklere sahip olması gerekir. Dağıtımdaaks-store-quickstart
, ön uç kapsayıcısı 1000m CPU sınırıyla 1m CPU ister.
Bu kaynak istekleri ve sınırları, aşağıdaki daraltılmış YAML örneğinde gösterildiği gibi her kapsayıcı için tanımlanır:
...
containers:
- name: store-front
image: ghcr.io/azure-samples/aks-store-demo/store-front:latest
ports:
- containerPort: 8080
name: store-front
...
resources:
requests:
cpu: 1m
...
limits:
cpu: 1000m
...
Bildirim dosyası kullanarak podları otomatik ölçeklendirme
Aşağıdaki sıkıştırılmış örnek bildirim dosyasında gösterildiği gibi otomatik ölçeklendirici davranışını ve kaynak sınırlarını tanımlamak için bir bildirim dosyası
aks-store-quickstart-hpa.yaml
oluşturun:apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: store-front-hpa spec: maxReplicas: 10 # define max replica count minReplicas: 3 # define min replica count scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: store-front metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 50
komutunu kullanarak
kubectl apply
otomatik ölçeklendirici bildirim dosyasını uygulayın.kubectl apply -f aks-store-quickstart-hpa.yaml
komutunu kullanarak
kubectl get hpa
otomatik ölçeklendiricinin durumunu denetleyin.kubectl get hpa
Birkaç dakika sonra, Azure Store Ön uygulamasında minimum yükle pod çoğaltmalarının sayısı üçe düşer.
kubectl get pods
komutunu tekrar kullanarak gereksiz podların kaldırıldığını görebilirsiniz.
Not
İşlenmesi gereken olay sayısına göre ölçeklendirmeyi sağlamak için kümenize Kubernetes tabanlı Olay Temelli Otomatik Ölçeklendirici (KEDA) AKS eklentisini etkinleştirebilirsiniz. Daha fazla bilgi için bkz . Kubernetes Event-Driven Autoscaling (KEDA) eklentisi (Önizleme) ile basitleştirilmiş uygulama otomatik ölçeklendirmesini etkinleştirme.
AKS düğümlerini el ile ölçeklendirme
Kubernetes kümenizi önceki öğreticilerdeki komutları kullanarak oluşturduysanız kümenizin iki düğümü vardır. Bu miktarı artırmak veya azaltmak istiyorsanız düğüm sayısını el ile ayarlayabilirsiniz.
Aşağıdaki örnek, myAKSCluster adlı Kubernetes kümesinde düğümlerin sayısını üçe yükseltir. Komutun tamamlanması birkaç dakika sürer.
komutunu kullanarak küme düğümlerinizi ölçeklendirin
az aks scale
.az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3
Küme başarıyla ölçeklendikten sonra, çıkışınız aşağıdaki örnek çıkışa benzer olacaktır:
"aadProfile": null, "addonProfiles": null, "agentPoolProfiles": [ { ... "count": 3, "mode": "System", "name": "nodepool1", "osDiskSizeGb": 128, "osDiskType": "Managed", "osType": "Linux", "ports": null, "vmSize": "Standard_DS2_v2", "vnetSubnetId": null ... } ... ]
Kümenizdeki düğümleri de otomatik olarak ölçekleyebilirsiniz. Daha fazla bilgi için bkz . Düğüm havuzlarıyla küme otomatik ölçeklendiricisini kullanma.
Sonraki adımlar
Bu öğreticide, Kubernetes kümenizde farklı ölçeklendirme özellikleri kullandınız. Şunları öğrendiniz:
- Uygulamanızı çalıştıran Kubernetes podlarını el ile ölçeklendirin.
- Uygulama ön ucunu çalıştıran otomatik ölçeklendirme podlarını yapılandırın.
- Kubernetes düğümlerini el ile ölçeklendirin.
Sonraki öğreticide AKS kümenizde Kubernetes'i yükseltmeyi öğreneceksiniz.
Azure Kubernetes Service