(DÉPRÉCIÉ) Mettre à l’échelle des pods Kubernetes et l’infrastructure Kubernetes
Conseil
Pour obtenir la version mise à jour, ce didacticiel utilise Azure Kubernetes Service, consultez Tutoriel : Mettre à l’échelle des applications dans Azure Kubernetes Service (AKS).
Avertissement
Le service Azure Container Service (ACS) est déprécié. Aucune nouvelle fonctionnalité ni fonction n’est ajoutée à ACS. L’ensemble des API, de l’utilisation du portail, des commandes CLI et de la documentation sont marquées comme dépréciées.
En 2017, nous avons introduit Azure Kubernetes Service (AKS) pour simplifier la gestion, le déploiement et les opérations liés à Kubernetes. Si vous utilisez l’orchestrateur Kubernetes, veuillez migrer vers AKS avant le 31 janvier 2020. Pour commencer, consultez Migrer vers Azure Kubernetes Service.
Pour plus d’informations, consultez l’annonce de la dépréciation d’Azure Container Service sur Azure.com.
Si vous avez suivi les didacticiels, vous disposez d’un cluster Kubernetes opérationnel dans Azure Container Service et vous avez déployé l’application Azure Vote.
Dans ce tutoriel (cinquième d’une série de sept), vous allez effectuer un scale-out des pods dans l’application et essayer la mise à l’échelle automatique des pods. Vous allez également apprendre à mettre à l’échelle le nombre de nœuds d’agents de machine virtuelle Azure afin de modifier la capacité du cluster pour l’hébergement des charges de travail. Les tâches accomplies sont les suivantes :
- Mise à l’échelle manuelle des pods Kubernetes
- Configuration de la mise à l’échelle automatique des pods qui exécutent le front-end de l’application
- Mettre à l’échelle les nœuds d’agents Azure Kubernetes
Dans les didacticiels suivants, l’application Azure Vote est mise à jour et Log Analytics est configuré pour la surveillance du cluster Kubernetes.
Avant de commencer
Dans les didacticiels précédents, une application a été empaquetée dans une image conteneur, l’image a été chargée dans Azure Container Registry et un cluster Kubernetes a été créé. L’application a ensuite été exécutée sur le cluster Kubernetes.
Si vous n’avez pas accompli ces étapes et que vous souhaitez suivre cette procédure, revenez au Tutoriel 1 – Créer des images conteneur.
Mettre à l’échelle des pods manuellement
Jusqu’à maintenant, le front-end Azure Vote et l’instance de Redis ont été déployés, chacun avec un réplica unique. À des fins de vérification, exécutez la commande kubectl get.
Accédez à https://shell.azure.com pour ouvrir Cloud Shell dans votre navigateur.
kubectl get pods
Sortie :
NAME READY STATUS RESTARTS AGE
azure-vote-back-2549686872-4d2r5 1/1 Running 0 31m
azure-vote-front-848767080-tf34m 1/1 Running 0 31m
Modifiez manuellement le nombre de pods dans le déploiement azure-vote-front
à l’aide de la commande kubectl scale. Cet exemple augmente le nombre à 5.
kubectl scale --replicas=5 deployment/azure-vote-front
Exécutez kubectl get pods pour vérifier que Kubernetes crée les pods. Au bout d’une minute environ, les pods supplémentaires sont en cours d’exécution :
kubectl get pods
Sortie :
NAME READY STATUS RESTARTS AGE
azure-vote-back-2606967446-nmpcf 1/1 Running 0 15m
azure-vote-front-3309479140-2hfh0 1/1 Running 0 3m
azure-vote-front-3309479140-bzt05 1/1 Running 0 3m
azure-vote-front-3309479140-fvcvm 1/1 Running 0 3m
azure-vote-front-3309479140-hrbf2 1/1 Running 0 15m
azure-vote-front-3309479140-qphz8 1/1 Running 0 3m
Mettre à l’échelle les pods automatiquement
Kubernetes prend en charge la mise à l’échelle automatique des pods horizontaux pour ajuster le nombre de pods dans un déploiement en fonction de l’utilisation du processeur ou d’autres métriques.
Pour utiliser la mise à l’échelle automatique, vos pods doivent avoir des demandes et limites de processeur définies. Dans le déploiement azure-vote-front
, le conteneur frontal demande 0,25 processeur, avec une limite de 0,5 processeur. Les paramètres s’apparentent aux suivants :
resources:
requests:
cpu: 250m
limits:
cpu: 500m
L’exemple suivant utilise la commande kubectl autoscale pour mettre automatiquement à l’échelle le nombre de pods dans le déploiement azure-vote-front
. Ici, si l’utilisation du processeur dépasse 50 %, le nombre de pods augmente jusqu’à un maximum de 10.
kubectl autoscale deployment azure-vote-front --cpu-percent=50 --min=3 --max=10
Pour voir l’état de la mise à l’échelle automatique, exécutez la commande suivante :
kubectl get hpa
Sortie :
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
azure-vote-front Deployment/azure-vote-front 0% / 50% 3 10 3 2m
Au bout de quelques minutes, avec une charge minimale sur l’application Azure Vote, le nombre de réplicas de pods descend automatiquement à 3.
Mettre à l’échelle les agents
Si vous avez créé votre cluster Kubernetes à l’aide des commandes par défaut dans le didacticiel précédent, il comporte trois nœuds agents. Vous pouvez ajuster le nombre d’agents manuellement si vous prévoyez davantage ou moins de charges de travail de conteneur sur votre cluster. Utilisez la commande az acs scale, puis spécifiez le nombre d’agents avec le paramètre --new-agent-count
.
L’exemple suivant permet d’augmenter le nombre de nœuds agents à 4 dans le cluster Kubernetes nommé myK8sCluster. Quelques minutes sont nécessaires pour exécuter la commande.
az acs scale --resource-group=myResourceGroup --name=myK8SCluster --new-agent-count 4
La sortie de la commande indique le nombre de nœuds agents dans la valeur de agentPoolProfiles:count
:
{
"agentPoolProfiles": [
{
"count": 4,
"dnsPrefix": "myK8SCluster-myK8SCluster-e44f25-k8s-agents",
"fqdn": "",
"name": "agentpools",
"vmSize": "Standard_D2_v2"
}
],
...
Étapes suivantes
Dans ce didacticiel, vous avez utilisé différentes fonctionnalités de mise à l’échelle dans votre cluster Kubernetes. Les tâches traitées ont inclus :
- Mise à l’échelle manuelle des pods Kubernetes
- Configuration de la mise à l’échelle automatique des pods qui exécutent le front-end de l’application
- Mettre à l’échelle les nœuds d’agents Azure Kubernetes
Passez au didacticiel suivant pour en savoir plus sur la mise à jour d’une application dans Kubernetes.