Comment gérer dynamiquement le nombre de conteneurs dans Kubernetes en fonction de la charge du système?
sobes.tech IA
Réponse de l'IA
Dans Kubernetes, pour gérer dynamiquement le nombre de conteneurs (réplicas de pods) en fonction de la charge, on utilise le Horizontal Pod Autoscaler (HPA). Le HPA ajuste automatiquement le nombre de pods dans un Deployment, ReplicaSet ou StatefulSet basé sur des métriques telles que l’utilisation du CPU, de la mémoire ou des métriques personnalisées.
Exemple de configuration du HPA, qui ajuste le nombre de pods en fonction de la charge CPU :
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: exemple-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: exemple-deploiement
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
Ici, le HPA maintiendra la charge CPU moyenne à 50 %, en augmentant ou diminuant le nombre de pods dans la plage de 1 à 10.
Il est également possible d’utiliser le Vertical Pod Autoscaler (VPA) pour modifier les ressources du pod, mais pour faire évoluer le nombre de réplicas, le HPA est la meilleure option.