Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önceki öğreticileri izlediyseniz çalışan bir Kubernetes kümeniz ve Azure Store Ön uygulamanız vardır.
Bu öğreticide, uygulamadaki podların ölçeğini genişletecek, pod otomatik ölçeklendirmesini deneyecek ve kümenin iş yüklerini barındırma kapasitesini değiştirmek için Azure VM düğümlerinin sayısını ölçeklendirebilirsiniz. Şunları yapmayı öğreneceksiniz:
- Kubernetes düğümlerini ölçeklendirin.
- Uygulamanızı çalıştıran Kubernetes podlarını el ile ölçeklendirin.
- Uygulamanın ö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ü olarak paketlediniz, görüntüyü Azure Container Registry’ye yüklediniz, bir AKS kümesi oluşturdunuz, bir uygulamayı 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 adımları izlemek istiyorsanız, Öğretici 1 - AKS için uygulamayı hazırlama ile başlayın.
Bu eğitim, pod ve düğüm sayılarını değiştirir ve bilgi işlem maliyetlerini artırabilir. AKS iş yüklerini ve düğüm havuzlarını ölçeklendirme iznine sahip bir kimlik (kaynak grubu için Katkıda Bulunan veya Sahip gibi) kullanı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
AKS masaüstü
Ölçeklendirme>Dağıtımı Seç: order-service>Yapılandırmayı Düzenle>Çoğaltma Sayısı: 5 seçeneklerini belirleyerek order-service için ölçeklendirme yapılandırmasını düzenleyin.
Devam etmeden önce dağıtım güncelleştirmesinin tamamlandığını doğrulayın.
komutunu kullanarak
kubectl getkümenizdeki podları görüntüleyin.kubectl get podsAş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 31mstore-front dağıtımındaki pod sayısını
kubectl scalekomutunu kullanarak manuel olarak değiştirin.kubectl scale --replicas=5 deployment.apps/store-frontkubectl get podskomutunu kullanarak ek podların oluşturulduğunu doğrulayın.kubectl get pods --selector app=store-frontAşağıdaki örnek çıktı, Azure Store Ön uygulamasını çalıştıran ek podları gösterir:
NAME READY STATUS RESTARTS AGE 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 olarak ölçeklendirme
AKS masaüstü
Project içinde Uygulamayı Dağıt düğmesini >Kubernetes YAML'yi seçin.
Bu YAML otomatik ölçeklendirici bildirimini ve kaynak sınırlarını kopyalayıp yapıştırın.
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: 50Sonraki>Dağıt>Kapat seçin.
Ölçeklendirme>Dağıtımı seçin: store-front seçin. Ölçeklendirme modunun artık HPA, Çoğaltma Sınırları ve CPU Kullanımı/Hedef olarak ayarlandığını yapılandırma tarafından görebilirsiniz.
HPA modunun etkinleştirildiğini ve çoğaltma sınırlarının bildirim değerleriyle eşleşip eşleşmediğini doğrulayın.
Komut satırı
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.
aks-store-quickstart dağıtımında, ön uç kapsayıcısı 1m CPU talep eder ve sınırı 1000m CPU’dur.
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.yamloluş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: 50komutunu kullanarak
kubectl applyotomatik ölçeklendirici bildirim dosyasını uygulayın.kubectl apply -f aks-store-quickstart-hpa.yamlkomutunu kullanarak
kubectl get hpaotomatik ölçeklendiricinin durumunu denetleyin.kubectl get hpaBirkaç dakika sonra, Azure Store Front uygulaması üzerindeki yük minimum düzeydeyken pod kopyası sayısı üçe düşer. Gereksiz podların kaldırıldığını görmek için komutunu yeniden kullanabilirsiniz
kubectl get pods.TARGETSveREPLICASsütunları,store-front-hpaiçin beklenen otomatik ölçeklendirme davranışını gösterdiğinde devam edin.
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
Not
AKS Otomatik kümesi oluşturduysanız, küme düğümleri otomatik olarak ölçeklediğinden bu adımlar uygulanmaz.
AKS Standard kümenizi önceki öğreticilerdeki komutları kullanarak oluşturduysanız kümenizin üç 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ümesindeki düğüm sayısını beşe yükseltir. Komutun tamamlanması birkaç dakika sürer.
komutunu kullanarak küme düğümlerinizi ölçeklendirin
az aks scale.Küme başarıyla ölçeklendirildikten sonra, çıkışınız aşağıdaki örnek çıkışa benzer:
az aks nodepool list --resource-group myResourceGroup --cluster-name myAKSCluster --query "[].{name:name,count:count}" -o tableaz aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 5Kü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": 5, "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çekleyicisini 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.
İşiniz bittiğinde Sil simgesini seçin ve onay iletisinde Ad alanını da sil'i seçin.
Sonraki öğreticide AKS kümenizde Kubernetes'i yükseltmeyi öğreneceksiniz.