Senior · Docker and Kubernetes

Rolling updates and compatibility

How do you deploy without dropping accepted work?

Try explaining this aloud before opening the answer. State your assumptions and trace a boundary case.

Reveal a strong answer
  1. Run multiple healthy instances when required, configure rollout availability, and ensure readiness reflects capacity to accept work. A terminating instance must stop new intake and drain within its grace period.

  2. Keep old and new versions compatible with shared schemas, events and clients during overlap. An expand/migrate/contract change can preserve compatibility where a direct destructive migration cannot.

  3. A successful rollout means the new version passes health and workload checks, not just that containers started. Track errors, latency, queue age and dependency load, and retain a rollback artifact whose data assumptions remain valid.

Common trap

Rolling back an image cannot undo an incompatible database mutation.

Try it

A new version removes a field still read by old Pods during rolling deployment. What is safer?

Worked solution

First deploy readers tolerant of both forms, then write/migrate the new form, and remove old support only after no old readers remain. Test the mixed-version window explicitly.

Change the constraint

How does a PodDisruptionBudget differ from rollout strategy and readiness?

How did you do?

Self-assessment, not a compiler pass or interview score. Explain the reasoning unaided before marking understood.

Not marked. Progress stays on this browser, separate from course completion.

Primary references

Checked 2026-10-20. Use documentation for your pinned runtime, driver and tool version.