Skip to main content

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

TypePurposeOn FailureTiming
StartupConfirm app initialization completePod restart (at failureThreshold)Immediately after Pod start
LivenessDetect deadlocks/hangsContainer restartAfter Startup succeeds
ReadinessConfirm traffic readinessRemove from Service EndpointsAfter 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).