KubernetesCloudDevOps

Kubernetes HPA et VPA : scaler intelligemment sans gaspiller

28 avril 2026 · Sphinx-Digital

Scaler une application Kubernetes, c’est plus subtil que de mettre replicas: 10 et d’espérer que ça tienne. Le HPA (Horizontal Pod Autoscaler) et le VPA (Vertical Pod Autoscaler) sont des outils puissants — à condition de les configurer correctement.

HPA : scaler horizontalement sur les métriques

Le HPA ajuste automatiquement le nombre de replicas d’un Deployment en fonction de métriques (CPU, mémoire, ou métriques custom).

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: api-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: api
  minReplicas: 2
  maxReplicas: 20
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

Le piège du seuil : 70% de CPU semble raisonnable, mais si vos pods ont des requests trop basses (ex : 50m), 70% de 50m = 35m de CPU — le HPA scale à partir de presque rien. Calibrez vos resource requests avant de configurer le HPA.

La règle des resource requests

Le HPA ne fonctionne correctement que si vos pods déclarent des requests. Sans requests, le scheduler ne peut pas placer les pods et le HPA n’a pas de référence pour calculer l’utilisation.

resources:
  requests:
    cpu: "200m"
    memory: "256Mi"
  limits:
    cpu: "1"
    memory: "512Mi"

Attention : ne définissez pas des limits CPU très basses — Kubernetes throttle les pods qui dépassent leur limite CPU, ce qui crée de la latence sans que l’utilisation mesurée soit élevée.

VPA : optimiser les ressources allouées

Le VPA ajuste verticalement les requests/limits d’un pod en fonction de son usage réel. Il est particulièrement utile pour right-sizer des workloads dont vous ne connaissez pas encore les besoins réels.

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: api-vpa
spec:
  targetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: api
  updatePolicy:
    updateMode: "Off"  # Recommandation seulement, pas de restart automatique

Commencez avec updateMode: "Off" pour observer les recommandations avant de les appliquer automatiquement.

HPA et VPA : peuvent-ils coexister ?

Techniquement oui, mais avec précaution. Ne configurez pas les deux sur la même métrique (CPU/mémoire). L’approche recommandée : VPA pour la mémoire, HPA pour le CPU. Ou VPA en mode recommendation-only + HPA actif.

Notre formation Kubernetes couvre l’autoscaling avancé avec des ateliers sur cluster réel.