Optimiser le cycle de vie des pods Kubernetes avec preStop

genevieve-sauvage 29/04/2026
RÉSOLU

Hello, je constate que lors de chaque déploiement sur mon cluster Kubernetes, j'ai des erreurs 502 intermittentes sur mon ingress Nginx. Il semble que les pods sont supprimés avant que les connexions actives ne soient terminées. J'utilise un déploiement standard sans hook particulier.

Est-ce qu'ajouter un preStop sleep est la méthode recommandée ou existe-t-il une solution plus propre au niveau du cycle de vie des conteneurs ?

29/04/2026 à 04:11

8 commentaires

anne-begue
Membre
Avatar de anne-begue
anne-begue
Membre

C'est un problème classique lié au délai de propagation de la mise à jour des endpoints dans les services. Le kube-proxy met du temps à mettre à jour les tables iptables.

29/04/2026 à 20:26

Exactement, j'ai l'impression que le trafic continue d'être envoyé vers le pod en terminaison. Le sleep résout le souci mais ça me semble être du bricolage.

30/04/2026 à 17:05
gturpin
Membre
Avatar de gturpin
gturpin
Membre

Le sleep est en effet nécessaire. Voici le pattern standard à mettre dans ton deployment.yaml :

lifecycle:
  preStop:
    exec:
      command: ["/bin/sh", "-c", "sleep 15"]
01/05/2026 à 11:16
anne-begue
Membre
Avatar de anne-begue
anne-begue
Membre

Attention à bien vérifier que ton terminationGracePeriodSeconds est supérieur à la valeur du sleep sinon le pod sera tué brutalement.

02/05/2026 à 09:17

Merci pour la précision. Je vais ajuster le terminationGracePeriodSeconds à 30 secondes pour être large. C'est quand même dommage qu'il n'y ait pas de native solution plus intelligente.

02/05/2026 à 21:22
gturpin
Membre
Avatar de gturpin
gturpin
Membre

C'est une limitation du découplage entre le control plane et le data plane. Le sleep est la norme industrielle pour éviter les drops de paquets lors du rolling update.

03/05/2026 à 14:22
anne-begue
Membre
Avatar de anne-begue
anne-begue
Membre

Tu peux aussi vérifier tes readinessProbes, parfois un échec précoce provoque le retrait du pod avant que le signal SIGTERM ne soit reçu.

04/05/2026 à 11:59

Je vais auditer mes probes ce soir. Merci à vous deux pour ces pistes, je pars sur le sleep + ajustement du délai de terminaison.

05/05/2026 à 11:25

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire