From 95babfcc49e77333c4e1d7ef5e1efac11119566b Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Wed, 29 Apr 2026 13:49:42 -0500 Subject: [PATCH] ops: tighten readiness gate to prevent downtime during rolling deploys With 1 replica, the old pod was torn down too quickly after the new pod passed its first health check. Increase successThreshold to 3 (15s of consecutive checks) and minReadySeconds to 30 to ensure Traefik has fully propagated the new endpoint before the old pod is terminated. --- k8s/deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml index c4c152c0..291c6126 100644 --- a/k8s/deployment.yaml +++ b/k8s/deployment.yaml @@ -10,7 +10,7 @@ spec: rollingUpdate: maxSurge: 1 # Allow 3rd pod during rollout to avoid downtime maxUnavailable: 0 # Keep all pods running during rollout - minReadySeconds: 10 # Wait 10s after pod is ready before considering it available + minReadySeconds: 30 # Wait 30s after pod is ready before considering it available (endpoint propagation buffer) selector: matchLabels: app: towerops @@ -230,5 +230,5 @@ spec: initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 2 - successThreshold: 1 # Mark ready after first successful check + successThreshold: 3 # Require 3 consecutive successes (15s) before marking ready failureThreshold: 2 # Allow 1 failure before marking not ready