EKS Pod Health Checks & Lifecycle Management
Written: 2026-02-12 | Updated: 2026-02-14 | Reading time: ~48 min
Reference Environment: EKS 1.30+, Kubernetes 1.30+, AWS Load Balancer Controller v2.7+
1. Overview
Pod health checks and lifecycle management are fundamental to service stability and availability. Proper Probe configuration and Graceful Shutdown implementation ensure: zero-downtime deployments, fast failure detection, resource optimization, and data integrity.
2. Kubernetes Probe Deep-dive
Three Probe Types
| Type | Purpose | On Failure | Timing |
|---|---|---|---|
| Startup | Confirm app initialization complete | Pod restart (at failureThreshold) | Immediately after Pod start |
| Liveness | Detect deadlocks/hangs | Container restart | After Startup succeeds |
| Readiness | Confirm traffic readiness | Remove from Service Endpoints | After Startup succeeds |
Probe Mechanisms
- httpGet: HTTP GET, 200-399 response codes
- tcpSocket: TCP port connectivity
- exec: Container command execution, exit code 0
- grpc: gRPC Health Check Protocol (K8s 1.27+ GA)
Timing Design
Max detection time = failureThreshold x periodSeconds
Min recovery time = successThreshold x periodSeconds
Workload-Specific Patterns
- REST API: httpGet /healthz (liveness, no external deps) + /ready (readiness, with deps)
- gRPC: Native grpc probe (K8s 1.27+)
- Batch Worker: exec probe with heartbeat file
- JVM/Spring Boot: Startup Probe with high failureThreshold for slow starts
3-8. Graceful Shutdown, Init Containers, Container Image Optimization
Comprehensive coverage of: preStop hooks, SIGTERM handling, terminationGracePeriodSeconds design, Init Container patterns, multi-container Pod patterns (sidecar, ambassador, adapter), and container image optimization (multi-stage builds, distroless, security scanning).