Kubernetes Deployment
K8s zero-downtime deploy, resource guidance, and rollout steps.
K8s deploys target zero-downtime releases, fast rollback, and predictable resource use.
Prerequisites
Requires Java 11+ image,
GATEWAY_HOME mount, separate ConfigMap/Secret, and an ingress controller.
Required resources
- Deployment, Service, Ingress
- ConfigMap / Secret
- HPA (traffic variance), PDB (availability)
Recommended parameters
| Item | Recommended | Notes |
|---|---|---|
| replicas | 2–3 | min 2 in prod |
| rollingUpdate | maxSurge 1 / maxUnavailable 0 | Zero downtime |
| CPU/Memory | P95 + 20% | limits = requests recommended |
| probes | startup / readiness / liveness | Keep separate |
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
Deploy to Kubernetes
- Build and push the image; update the Deployment manifest tag.
- Apply ConfigMap/Secret per environment.
- Run
kubectl apply -fand verify rollout status. - Shift traffic gradually after readiness passes.
- Monitor error rate, P95, and pod restarts for 30 minutes.