Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud jste postupovali podle předchozích kurzů, máte funkční cluster Kubernetes a aplikaci Front pro Azure Store.
V tomto kurzu škálujete pody v aplikaci, vyzkoušíte automatické škálování podů a škálujete počet uzlů virtuálních počítačů Azure, abyste změnili kapacitu clusteru pro hostování úloh. Naučíte se, jak:
- Škálujte uzly Kubernetes.
- Ručně škálujte pody Kubernetes, které spouští vaši aplikaci.
- Nakonfigurujte pody automatického škálování, na kterých běží front-end aplikace.
Než začnete
V předchozích kurzech jste aplikaci zabalili do image kontejneru, nahráli ji do služby Azure Container Registry, vytvořili cluster AKS, nasadili aplikaci a použili službu Azure Service Bus k opětovnému nasazení aktualizované aplikace. Pokud jste tyto kroky ještě nedokončili a chcete postupovat podle pokynů, začněte kurzem 1 – Příprava aplikace pro AKS.
Tento kurz vyžaduje Azure CLI verze 2.34.1 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
Ruční škálování podů
Pomocí příkazu zobrazte pody ve vašem clusteru
kubectl get.kubectl get podsNásledující příklad výstupu ukazuje pody, na kterých běží aplikace Front pro Azure Store:
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 31mRučně změňte počet podů v nasazení store-front pomocí příkazu
kubectl scale.kubectl scale --replicas=5 deployment.apps/store-frontOvěřte, že se vytvořily další pody pomocí příkazu
kubectl get pods.kubectl get pods --selector app=store-frontNásledující příklad výstupu ukazuje další pody, na kterých běží aplikace Front pro Azure Store:
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
Automatické škálování podů
Aby bylo možné použít horizontální automatické škálování podů, musí mít všechny kontejnery definované požadavky na procesor a limity a pody musí mít zadané požadavky.
aks-store-quickstart V nasazení front-endový kontejner požaduje 1 mCPU s limitem 1000 mCPU.
Tyto požadavky a omezení prostředků jsou definované pro každý kontejner, jak je znázorněno v následujícím zhuštěném příkladu YAML:
...
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
...
Automatické škálování podů pomocí souboru manifestu
Vytvořte soubor manifestu, který definuje chování automatického škálování a omezení prostředků, jak je znázorněno v následujícím zhuštěném ukázkovém souboru
aks-store-quickstart-hpa.yamlmanifestu: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: 50Použijte soubor manifestu autoscaleru pomocí příkazu
kubectl apply.kubectl apply -f aks-store-quickstart-hpa.yamlPomocí příkazu zkontrolujte stav automatického škálování
kubectl get hpa.kubectl get hpaPo několika minutách se s minimálním zatížením aplikace Azure Store Front sníží počet replik podů na tři. Pomocí příkazu
kubectl get podsmůžete znovu sledovat, jak se odebírají nepotřebné pody.
Poznámka:
Doplněk AKS (KEDA) založený na událostech Kubernetes můžete do clusteru povolit, aby bylo možné řídit škálování na základě počtu událostí, které je potřeba zpracovat. Další informace najdete v tématu Povolení zjednodušeného automatického škálování aplikací pomocí doplňku KEDA (Event-Driven Autoscaling) Kubernetes (Preview).
Ruční škálování uzlů AKS
Pokud jste cluster Kubernetes vytvořili pomocí příkazů v předchozích kurzech, cluster má dva uzly. Pokud chcete tuto částku zvýšit nebo snížit, můžete počet uzlů upravit ručně.
Následující příklad zvýší počet uzlů v clusteru Kubernetes s názvem myAKSCluster na tři. Dokončení tohoto příkazu trvá několik minut.
Škálujte uzly clusteru
az aks scalepomocí příkazu.az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3Po úspěšném škálování clusteru bude výstup podobný následujícímu příkladu výstupu:
"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 ... } ... ]
Uzly v clusteru můžete také automaticky škálovat. Další informace najdete v tématu Použití automatického škálování clusteru s uzlovými fondy.
Další kroky
V tomto kurzu jste v clusteru Kubernetes využili různé funkce škálování. Naučili jste se:
- Ručně škálujte pody Kubernetes, které spouští vaši aplikaci.
- Nakonfigurujte pody automatického škálování, na kterých běží front-end aplikace.
- Ručně škálujte uzly Kubernetes.
V dalším kurzu se dozvíte, jak upgradovat Kubernetes v clusteru AKS.
Azure Kubernetes Service