The Runtime Theory
mediumSystemInternals#controllers#desired-state#health-checks

What Is the Difference Between a Deployment Being Accepted and Ready?

A Kubernetes prompt about API persistence, reconciliation, scheduling, image startup, probes, and Service endpoints.

TRT practice prompt — not a verified question from a named employer.

The Runtime Theory Team1 min read

A strong answer

An accepted Deployment update means the Kubernetes API server validated and stored the desired object. Controllers still need to reconcile it: the Deployment controller updates a ReplicaSet, the scheduler assigns Pods to nodes, and node agents ask the container runtime to start containers.

A Pod can remain pending because of resource constraints or placement rules, fail to start because an image cannot be pulled, or run without becoming ready because its readiness probe fails. Readiness determines whether the workload should receive traffic through the Service's endpoint mechanism. Liveness is about restarting an unhealthy container and should not be used as a substitute for readiness.

I would inspect Deployment and ReplicaSet status, Pod conditions, events, container state, probe results, and application metrics. The control plane accepting a change is not a transaction that guarantees user-visible readiness.

Follow-up direction

Describe how you would make a rollout pause safely and what signals should gate promotion.

This answer walks

Practice follow-ups

  1. 01Which component creates the ReplicaSet?
  2. 02What can keep a Pod pending or prevent its container from starting?
  3. 03How does readiness affect traffic differently from liveness?

One dispatch a week

The trace behind each question, the tradeoff that explains it, and one technical dispatch per week — no noise.

One technical dispatch per week. No noise.

Not started

Sign in to save your learning progress.

Sign in to save