# Check deployment status
kubectlrolloutstatusdeployment/<service-name>-nservices
# View recent rollout history
helmhistory<service-name>-nservices
# Check pod state
kubectlgetpods-nservices-lapp.kubernetes.io/instance=<service-name>
kubectldescribepod<pod-name>-nservices
# Roll back to the previous release
helmrollback<service-name>-nservices
# Or roll back to a specific revision
helmrollback<service-name><revision-number>-nservices
# Verify the rollback
kubectlrolloutstatusdeployment/<service-name>-nservices--timeout=3m
4. If Helm rollback also fails — force a known-good image¶
1 2 3 4 5 6 7 8 910111213
# List recent ECR image tags
awsecrlist-images\--repository-nameidp-mvp/<service-name>\--regionus-east-1\--query'imageIds[*].imageTag'\--outputtext
# Force deploy with a known-good SHA tag
helmupgrade<service-name>./helm/service-template\--namespaceservices\--setimage.tag=<known-good-sha>\--reuse-values\--wait--timeout5m
Common causes:
- New image has a startup crash (check kubectl logs)
- ConfigMap or Secret reference is missing or wrong
- Resource limits too low causing OOMKilled on startup
- Broken health probe path returning non-200
12345
# Check logs for the failing pod
kubectllogsdeployment/<service-name>-nservices--previous
# Check events
kubectlgetevents-nservices--sort-by='.lastTimestamp'|tail-20