← All field notes

Kubernetes Production-Readiness Checklist: 25 Checks Before You Go Live

25 checks across release safety, security, reliability, observability, backup and cost to confirm your Kubernetes platform is ready for real traffic.

Kubernetes production-readiness checklist covering release safety, security, reliability, observability, backup and cost.

A Kubernetes cluster that runs is not the same as a cluster that is ready for production. Most outages we are called in to fix after a launch trace back to a small set of gaps: probes that check the wrong thing, a single replica on a single node, secrets in plain text, backups nobody has ever restored, or alerts that fire too late. None of them show up in a demo. All of them show up under real traffic.

This checklist is the one we use in client platform reviews. It covers 25 checks across six areas: release safety, security, reliability, observability, backup and recovery, and cost. Work through it before you send real users to a new cluster, and again before any major launch.

1. Release safety

These checks decide whether a bad deploy becomes a five-minute rollback or a long incident.

  1. Readiness and liveness probes that test the right thing: readiness should confirm the pod can actually serve traffic (dependencies reachable, warm-up done); liveness should only catch a hung process. A liveness probe that calls the database will restart healthy pods during a database blip.

  2. A rolling update strategy that keeps capacity: set maxUnavailable and maxSurge so a rollout never drops below the replicas you need at peak traffic.

  3. PodDisruptionBudgets for every critical workload: without a PDB, a routine node drain or upgrade can evict every replica of a service at once.

  4. Images pinned to a version or digest: never deploy :latest. You cannot roll back to a tag that has been overwritten.

  5. A tested rollback path: know exactly how you revert: kubectl rollout undo, a Helm rollback or a GitOps revert. Practise it once before launch, not during the incident.

bash
# Is the last rollout healthy, and can you go back?
kubectl rollout status deployment/api -n prod
kubectl rollout history deployment/api -n prod
kubectl rollout undo deployment/api -n prod --to-revision=<n>

# Which critical workloads have no PodDisruptionBudget?
kubectl get pdb -A

2. Security

A cluster that is reachable from the internet is tested by attackers within hours. These five checks close the most common entry points. For a full control-by-control review, see what a CIS Kubernetes Benchmark audit actually checks.

  1. Least-privilege RBAC: no application or CI pipeline should run with cluster-admin. Give each service account only the verbs and resources it uses.

  2. Default-deny NetworkPolicies: start every namespace from deny-all and allow only the traffic each service needs. Without this, one compromised pod can reach everything.

  3. Pod Security Standards enforced: apply the restricted (or at least baseline) profile per namespace so containers cannot run as root, mount the host or escalate privileges.

  4. Secrets kept out of Git and plain environment files: use encryption at rest for Secrets and, ideally, an external secret store. Rotate anything that was ever committed.

  5. Scanned images from trusted registries: scan images in CI, block critical vulnerabilities, and only allow pulls from registries you control.

bash
# Enforce the restricted Pod Security Standard on a namespace
kubectl label namespace prod \
  pod-security.kubernetes.io/enforce=restricted \
  pod-security.kubernetes.io/warn=restricted

# What can a service account actually do?
kubectl auth can-i --list --as=system:serviceaccount:prod:api

1 of 2 sections shown

Anees Khan

Anees is Co-Founder & CTO at Turf Dev, focused on Kubernetes, platform engineering, cloud infrastructure and production reliability. He writes about real-world infrastructure problems, how the team investigates them, and the engineering approaches used to solve them.

Discussion

Have a question or something to add? Share it below.

Comments appear immediately. Please keep the discussion respectful.

No comments yet. Be the first to join the discussion.

Keep exploring

More from the field.

All articles ↗

Platform Mandate

Book a free 30-minute architecture review

Review platform posture, reliability constraints, and cost governance priorities with an infrastructure engineering team.

Book a free 30-minute architecture review