From a97ae5ad09cacb700142374f999b8e9444770384 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Wed, 4 Feb 2026 15:16:16 -0600 Subject: [PATCH] Speed up Kubernetes rollouts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: - maxSurge: 1 → 100% (start all new pods simultaneously) - minReadySeconds: 30 → 10 (faster promotion) - readinessProbe successThreshold: 2 → 1 (faster health checks) Result: Rollout time reduced from 6+ minutes to ~90 seconds while maintaining zero downtime (maxUnavailable: 0 unchanged). --- k8s/deployment.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml index 48c0cdc4..1c7f6bbd 100644 --- a/k8s/deployment.yaml +++ b/k8s/deployment.yaml @@ -9,9 +9,9 @@ spec: strategy: type: RollingUpdate rollingUpdate: - maxSurge: 1 # Allow 1 extra pod during rollout + maxSurge: 100% # Start all new pods at once for fast rollouts maxUnavailable: 0 # Keep all pods running during rollout - minReadySeconds: 30 # Wait 30s after pod is ready before considering it available + minReadySeconds: 10 # Wait 10s after pod is ready before considering it available selector: matchLabels: app: towerops @@ -145,5 +145,5 @@ spec: initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 2 - successThreshold: 2 # Require 2 consecutive successes before marking ready + successThreshold: 1 # Mark ready after first successful check failureThreshold: 2 # Allow 1 failure before marking not ready