Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u de vorige zelfstudies hebt gevolgd, hebt u een werkend Kubernetes-cluster en een Azure Store Front-app.
In deze zelfstudie schaalt u de pods in de app uit, probeert u pods automatisch schalen en schaalt u het aantal Azure VM-knooppunten om de capaciteit van het cluster voor het hosten van workloads te wijzigen. U leert het volgende:
- Schaal de Kubernetes-knooppunten.
- Schaal de Kubernetes-pods waarop uw applicatie wordt uitgevoerd handmatig.
- Configureer automatisch schalende pods waarop de front-end van de app draait.
Voordat u begint
In eerdere zelfstudies hebt u een toepassing verpakt in een containerinstallatiekopie, de installatiekopie geüpload naar Azure Container Registry, een AKS-cluster gemaakt, een toepassing geïmplementeerd en Azure Service Bus gebruikt om een bijgewerkte toepassing opnieuw te implementeren. Als u deze stappen nog niet hebt voltooid en u deze wilt volgen, begint u met zelfstudie 1: De toepassing voorbereiden voor AKS.
Deze tutorial past het aantal pods en knooppunten aan en kan de computekosten verhogen. Gebruik een identiteit met machtigingen voor het schalen van AKS-workloads en -knooppuntgroepen, zoals Inzender of Eigenaar voor de resourcegroep.
Voor deze zelfstudie is Azure CLI versie 2.34.1 of hoger vereist. Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Pods handmatig schalen
AKS-bureaublad
Bewerk de schaalconfiguratie voor de order-service door Schalen>Selecteer implementatie: order-service>Configuratie bewerken>Aantal replica's: 5 te selecteren.
Controleer of de implementatie-update is voltooid voordat u doorgaat.
Bekijk de pods in uw cluster met behulp van de
kubectl getopdracht.kubectl get podsIn de volgende voorbeelduitvoer ziet u de pods waarop de Azure Store Front-app wordt uitgevoerd:
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 31mWijzig handmatig het aantal pods in de store-front-implementatie met behulp van de
kubectl scaleopdracht.kubectl scale --replicas=5 deployment.apps/store-frontControleer of de extra pods zijn gemaakt met behulp van de
kubectl get podsopdracht.kubectl get pods --selector app=store-frontIn de volgende voorbeelduitvoer ziet u de extra pods waarop de Azure Store Front-app wordt uitgevoerd:
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
Pods automatisch schalen
AKS-bureaublad
Selecteer in het project de knop Applicatie implementeren>Kubernetes YAML.
Kopieer en plak dit YAML-manifest voor automatische schaalaanpassing en resourcelimieten.
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: 50Selecteer Volgende>Implementeren>Sluiten.
Selecteer Schalen>, implementatie selecteren: store-front. U kunt zien dat de schaalmodus nu is ingesteld op HPA, replicagrenzen en CPU-gebruik/doel dat door de configuratie is ingesteld.
Controleer of de HPA-modus is ingeschakeld en of de replicagrenzen overeenkomen met de manifestwaarden.
Opdrachtregel
Als u de horizontale Pod Autoscaler wilt gebruiken, moeten voor alle containers CPU-verzoeken en -limieten zijn gedefinieerd en moeten voor pods verzoeken zijn opgegeven. In de aks-store-quickstart implementatie vraagt de front-endcontainer 1m CPU aan met een limiet van 1000m CPU.
Deze resourceaanvragen en -limieten worden gedefinieerd voor elke container, zoals wordt weergegeven in het volgende verkorte voorbeeld van 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
...
Pods automatisch schalen met behulp van een manifestbestand
Maak een manifestbestand om het gedrag van automatische schaalaanpassing en resourcelimieten te definiëren, zoals wordt weergegeven in het volgende verkorte voorbeeldmanifestbestand
aks-store-quickstart-hpa.yaml: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: 50Pas het manifestbestand voor automatisch schalen toe met behulp van de
kubectl applyopdracht.kubectl apply -f aks-store-quickstart-hpa.yamlControleer de status van de automatische schaalaanpassing met behulp van de
kubectl get hpaopdracht.kubectl get hpaNa een paar minuten daalt het aantal podreplica's bij minimale belasting van de Azure Store Front-app tot drie. U kunt de opdracht opnieuw gebruiken
kubectl get podsom te zien dat de overbodige pods worden verwijderd.Ga door wanneer de kolommen
TARGETSenREPLICAShet verwachte gedrag voor automatisch schalen voorstore-front-hpaweergeven.
Notitie
U kunt de op Kubernetes gebaseerde Event-Driven Autoscaler (KEDA) AKS-invoegtoepassing inschakelen voor uw cluster om schaling aan te sturen op basis van het aantal gebeurtenissen dat moet worden verwerkt. Zie Vereenvoudigde schaalaanpassing van toepassingen inschakelen met de invoegtoepassing Kubernetes Event-Driven Autoscaling (KEDA) (Preview) voor meer informatie.
AKS-knooppunten handmatig schalen
Notitie
Als u een automatisch AKS-cluster hebt gemaakt, zijn deze stappen niet van toepassing omdat het cluster knooppunten automatisch schaalt.
Als u uw AKS Standard-cluster hebt gemaakt met behulp van de opdrachten in de vorige zelfstudies, heeft uw cluster drie knooppunten. Als u dit aantal wilt verhogen of verlagen, kunt u het aantal knooppunten handmatig aanpassen.
In het volgende voorbeeld wordt het aantal knooppunten verhoogd naar vijf in het Kubernetes-cluster met de naam myAKSCluster. Het uitvoeren van deze opdracht duurt enkele minuten.
Schaal uw clusterknooppunten met behulp van de
az aks scaleopdracht.Zodra het cluster succesvol is opgeschaald, is uw uitvoer vergelijkbaar met de volgende voorbeelduitvoer:
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 5Zodra het cluster succesvol is opgeschaald, zal uw uitvoer vergelijkbaar zijn met de volgende voorbeelduitvoer:
"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 ... } ... ]
U kunt de knooppunten in uw cluster ook automatisch schalen. Zie De automatische schaalaanpassing van clusters gebruiken met knooppuntgroepen voor meer informatie.
Volgende stappen
In deze zelfstudie hebt u verschillende schaalfuncties in uw Kubernetes-cluster gebruikt. U hebt geleerd hoe u:
- Schaal de Kubernetes-pods waarop uw applicatie wordt uitgevoerd handmatig.
- Configureer automatisch schalende pods waarop de front-end van de app draait.
- Schaal de Kubernetes-knooppunten handmatig.
Als u klaar bent, selecteert u het pictogram Verwijderen en selecteert u in het bevestigingsbericht ook de naamruimte verwijderen.
In de volgende zelfstudie leert u hoe u Kubernetes in uw AKS-cluster bijwerkt.