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 návod změní počet podů a uzlů a může zvýšit náklady na výpočetní prostředky. Použijte identitu s oprávněním ke škálování úloh AKS a fondů uzlů, jako je přispěvatel nebo vlastník skupiny prostředků.
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ů
Desktopová aplikace AKS
Upravte konfiguraci škálování pro službu order-service výběrem Škálování>Vybrat nasazení: order-service>Upravit konfiguraci>Počet replik: 5.
Než budete pokračovat, ověřte, že se aktualizace nasazení dokončila.
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ů
Desktopová aplikace AKS
V Project vyberte tlačítko >Kubernetes YAML.
Zkopírujte a vložte tento manifest autoscaleru ve formátu YAML a omezení prostředků.
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: 50Vyberte Další>Nasadit>Zavřít.
Vyberte Možnost Škálování>Vybrat nasazení: Store-front. Uvidíte, že režim škálování je teď nastavený na HPA, omezení replik a využití procesoru / cíl nastavený konfigurací.
Ověřte, že je povolený režim HPA a že hranice repliky odpovídají hodnotám manifestu.
Příkazový řádek
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.Pokračujte, když sloupce
TARGETSREPLICASzobrazují očekávané chování automatického škálování prostore-front-hpa.
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
Poznámka:
Pokud jste vytvořili cluster AKS Automatic, tyto kroky se nepoužijí, protože cluster automaticky škáluje uzly.
Pokud jste cluster AKS Standard vytvořili pomocí příkazů v předchozích kurzech, cluster má tři 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ů na pět v clusteru Kubernetes s názvem myAKSCluster. Dokončení tohoto příkazu trvá několik minut.
Škálujte uzly clusteru
az aks scalepomocí příkazu.Po úspěšném škálování clusteru se výstup podobá následujícímu příkladu výstupu:
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 5Po ú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": 5, "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.
Pokud jste hotovi, vyberte ikonu Odstranit a v potvrzovací zprávě vyberte Také odstranit obor názvů.
V dalším kurzu se dozvíte, jak upgradovat Kubernetes v clusteru AKS.