Let's think about it this way for a moment
Being able to deploy an app on a Kubernetes cluster doesn't mean it's 'production-ready' — you only earn that label once you've covered resource limits (CPU/memory quotas, so one pod can't eat all the resources), health checks (liveness/readiness probes), replicas ≥2 (so there's no single point of failure), Secret encryption, RBAC (least privilege), and monitoring/logging setup. In this project, you'll write your own checklist and use it to audit Projects 1 and 2.
Let's connect this to a real scenario
Go through each checklist item using `kubectl describe`/`kubectl get -o yaml` — check whether resource requests/limits are set, whether probes exist, how many replicas there are, and whether Secrets are actually used or values are hardcoded. Mark each item Pass/Fail, then fix the YAML for anything that fails.
Let's look at it together
Production Readiness Checklist
================================
[ ] Deployment has replicas >= 2 (no single point of failure)
[ ] Every container has resource requests AND limits set
[ ] Liveness probe is configured
[ ] Readiness probe is configured
[ ] Sensitive data uses Secret, not ConfigMap or hardcoded values
[ ] RoleBinding follows least-privilege (no blanket cluster-admin)
[ ] Rolling update strategy is configured (not "Recreate")
[ ] Namespace is set (not relying on "default")You'll audit Project 1 (the three-tier app) against the checklist and end up with fixed YAML for every item that fails.5-minute try-it
Run the checklist above against all the YAML files in Project 1 (the three-tier app) — identify every item that fails and fix it.
A quick word of caution
This checklist is just a starting point — a real production environment (depending on compliance requirements and team conventions) may need a much broader checklist than this.