Sobes.tech
Middle — Middle+

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.