Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si vous avez suivi les didacticiels précédents, vous disposez d’un cluster Kubernetes opérationnel et d’une application Azure Store Front.
Dans ce tutoriel, vous effectuez une mise à l'échelle horizontale des pods dans l’application, essayez la mise à l’échelle automatique des pods et ajustez le nombre de nœuds de machine virtuelle Azure afin de modifier la capacité du cluster à héberger des charges de travail. Vous allez apprendre à effectuer les actions suivantes :
- Mettez à l’échelle les nœuds Kubernetes.
- Mettez à l’échelle manuellement des pods Kubernetes qui exécutent votre application.
- Configurez la mise à l’échelle automatique des pods qui exécutent le front-end de l’application.
Avant de commencer
Dans les didacticiels précédents, vous avez empaqueté une application dans une image conteneur, chargé l’image dans Azure Container Registry, créé un cluster AKS, déployé une application et utilisé Azure Service Bus pour redéployer une application mise à jour. Si vous n’avez pas effectué ces étapes et voulez suivre cette procédure, commencez par Tutoriel 1 : préparer une application pour AKS.
Ce didacticiel modifie les nombres de pods et de nœuds et peut augmenter les coûts de calcul. Utilisez une identité avec l’autorisation de mettre à l’échelle les charges de travail AKS et les pools de nœuds, tels que Contributeur ou Propriétaire pour le groupe de ressources.
Ce didacticiel nécessite Azure CLI version 2.34.1 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
Redimensionner manuellement les pods
Poste de travail AKS
Modifiez la configuration de mise à l’échelle pour le service de commande en sélectionnant Scale>Select Deployment : order-service>Edit Configuration>Number of Replicas : 5.
Vérifiez que la mise à jour du déploiement se termine avant de continuer.
Affichez les pods dans votre cluster à l’aide de la commande
kubectl get.kubectl get podsL’exemple de sortie suivant montre les pods exécutant l’application Azure Store Front :
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 31mChangez manuellement le nombre de pods dans le déploiement store-front à l’aide de la commande
kubectl scale.kubectl scale --replicas=5 deployment.apps/store-frontVérifiez que les pods supplémentaires ont été créés à l’aide de la commande
kubectl get pods.kubectl get pods --selector app=store-frontL’exemple de sortie suivant montre les pods supplémentaires exécutant l’application Azure Store Front :
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
Mettre à l’échelle les pods automatiquement
Poste de travail AKS
Dans le Project, sélectionnez le bouton >Kubernetes YAML.
Copiez et collez ce manifeste de mise à l’échelle automatique YAML et les limites des ressources.
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: 50Sélectionnez Suivant>Déployer>fermer.
Sélectionnez Mise à l’échelle>Sélectionnez le déploiement : store-front. Vous pouvez voir que le mode de mise à l’échelle est maintenant réglé sur HPA, et que les limites du nombre de réplicas ainsi que l’utilisation du processeur / la cible sont définies par la configuration.
Vérifiez que le mode HPA est activé et que les limites du réplica correspondent aux valeurs du manifeste.
Ligne de commande
Pour utiliser la mise à l’échelle automatique des pods horizontaux, tous les conteneurs doivent avoir des requêtes et limites de processeur définies et les pods doivent avoir des requêtes définies. Dans le déploiement aks-store-quickstart, le conteneur front-end requiert 1m de CPU, avec une limite de 1000m de CPU.
Ces limites et requêtes de ressources sont définies pour chaque conteneur, comme indiqué dans l’exemple de YAML condensé suivant :
...
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
...
Mise à l’échelle automatique des pods à l’aide d’un fichier manifeste
Créez un fichier manifeste pour définir le comportement de l’outil de mise à l’échelle automatique et les limites de ressources, comme indiqué dans l’exemple condensé de fichier manifeste
aks-store-quickstart-hpa.yamlsuivant :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: 50Appliquez le fichier manifeste de l’outil de mise à l’échelle automatique à l’aide de la commande
kubectl apply.kubectl apply -f aks-store-quickstart-hpa.yamlVérifiez l’état de l’outil de mise à l’échelle automatique à l’aide de la commande
kubectl get hpa.kubectl get hpaAu bout de quelques minutes, avec une charge minimale sur l’application Azure Store Front, le nombre de réplicas de pods descend à trois. Vous pouvez utiliser à nouveau la commande
kubectl get podspour voir les pods inutiles supprimés.Continuez lorsque les colonnes
TARGETSetREPLICASindiquent le comportement de mise à l’échelle automatique attendu pourstore-front-hpa.
Remarque
Vous pouvez activer le module complémentaire AKS KEDA (Kubernetes Event-Driven Autoscaler) sur votre cluster afin d’assurer la mise à l’échelle en fonction du nombre d’événements à traiter. Pour plus d’informations, consultez Activer la mise à l’échelle automatique d’application simplifiée avec le module complémentaire KEDA (Kubernetes Event-Driven Autoscaling) (préversion).
Mettre manuellement à l’échelle les nœuds AKS
Remarque
Si vous avez créé un cluster AKS Automatic, ces étapes ne s’appliquent pas, car le cluster met automatiquement les nœuds à l’échelle.
Si vous avez créé votre cluster AKS Standard à l’aide des commandes des didacticiels précédents, votre cluster a trois nœuds. Si vous souhaitez augmenter ou diminuer cette quantité, vous pouvez ajuster manuellement le nombre de nœuds.
L’exemple suivant augmente le nombre de nœuds à cinq dans le cluster Kubernetes nommé myAKSCluster. Quelques minutes sont nécessaires pour exécuter la commande.
Mettez à l’échelle les nœuds de cluster avec la commande
az aks scale.Une fois le cluster mis à l’échelle avec succès, la sortie obtenue ressemble à l’exemple de sortie suivant :
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 5Une fois le cluster mis à l’échelle avec succès, le résultat obtenu ressemblera à l’exemple de sortie suivant :
"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 ... } ... ]
Vous pouvez également mettre à l’échelle automatiquement les nœuds de votre cluster. Pour plus d’informations, consultez Utiliser la mise à l’échelle automatique de cluster avec des pools de nœuds.
Étapes suivantes
Dans ce didacticiel, vous avez utilisé différentes fonctionnalités de mise à l’échelle dans votre cluster Kubernetes. Vous avez appris à :
- Mettez à l’échelle manuellement des pods Kubernetes qui exécutent votre application.
- Configurez la mise à l’échelle automatique des pods qui exécutent le front-end de l’application.
- Mettez à l’échelle manuellement les nœuds Kubernetes.
Si vous avez terminé, sélectionnez l’icône Supprimer , puis, dans le message de confirmation, sélectionnez Également supprimer l’espace de noms.
Dans le tutoriel suivant, vous allez apprendre à mettre à niveau Kubernetes dans votre cluster AKS.