Explainer

How containers and Kubernetes turn an image into a service

In brief

Images package processes and Kubernetes reconciles their deployment. Probes, resource settings and completed jobs reveal different stages of the service.

4 min read

Sources
An open worker gate admits job tiles, but its storage tether stops short of the durable reel and the jobs remain inside.
Conceptual illustration of the hypothetical storage-dependent worker: readiness and acceptance succeed while durable completion is blocked. No real rollout, probe measurement or completed customer job is depicted.
On this page3 sections

Consider a hypothetical deployment whose readiness endpoint succeeds while its background worker cannot access durable storage. Requests enter successfully, but their jobs never finish. The rollout can look complete while accepted work accumulates without results.

A container image answers a packaging question: what filesystem and application will start the process? The worker also has to run under its deployed constraints, reach storage and finish the work it accepts. Following those stages explains how a running container and a ready instance can both be useful observations while the customer is still waiting.

From an image to a working process

A container runs a process using isolation mechanisms and a filesystem assembled from its image and any storage mounted at startup. Unlike a virtual machine with its own kernel, it relies on the host kernel. The runtime starts the process, while the application remains responsible for handling signals, failures and persistent state correctly.

For this worker, packaging leaves the storage and job lifecycle to investigate. Which data must survive replacement? Can the deployed process reach the storage it needs? What happens to jobs it has accepted but not finished? The image helps start the same application; these operating conditions determine whether it can complete the work.

An orchestrator manages the declared configuration across machines. Kubernetes Deployments use ReplicaSets and Pods to organize the application instances and manage rollouts. The controller repeatedly compares the running system with the desired configuration and attempts to bring them into agreement. The Deployment documentation explains the model and its rollout controls. That reconciliation gives the service an operating mechanism, but its checks still need to match the work being served.

Readiness, liveness and startup answer different questions

A process can be alive without being able to serve a useful request. Readiness should express whether the instance can receive traffic; liveness should identify a condition for which restarting it is appropriate. If every instance is waiting on the same slow dependency, restarting them all does not automatically improve the dependency. The check's meaning should fit the action it causes.

Startup adds another timing question. A slow initialization can be interrupted repeatedly if liveness testing begins before the application is prepared to answer. Kubernetes startup probes delay liveness and readiness probing until startup succeeds. Base that allowance on observed startup behavior, and also exercise genuine initialization failure. The window should permit expected preparation without leaving an irrecoverable instance unnoticed indefinitely.

Deployed resource settings can explain why an application behaves differently from a laptop test. Requests influence scheduling; limits constrain consumption according to the resource and runtime behavior. The process may be throttled or terminated for memory use under those constraints. Inspect the deployed conditions rather than assuming successful local startup established the same operating envelope.

Storage is a separate part of that envelope. Replacing a Pod cannot repair corrupted data, guarantee storage availability or make a migration reversible. Determine which state survives replacement and which components share a failure domain. Otherwise a seemingly routine replacement can leave the actual failure unchanged.

A ready endpoint with a blocked background worker

For this worker, compare the successful readiness result with an unfinished job. Inspect the deployed resources and storage access alongside what the probe actually tests. A probe that never exercises durable storage cannot show whether that job will finish. Follow one accepted request through completion as well, so the platform status can be compared with the outcome the customer needs.

Once a version receives traffic, compare its latency and correctness with the previous version. A canary comparison can inform a deliberate rollback decision where the application permits it. Migration and stored-data compatibility still determine whether that rollback is a usable option.

With a managed platform, the service owner may have no direct control of the storage component. A documented completion signal and a reachable support route can still make the failure diagnosable. The owner needs enough visibility to identify the unfinished stage and get it investigated, rather than access to every underlying machine.

Find the rollout stage that failed
Find the rollout stage that failed. The stages point to different evidence: scheduling, image retrieval, startup and readiness. A completed rollout still needs user-facing checks. Startup probes can give slow initialization its own allowance.
The stages point to different evidence: scheduling, image retrieval, startup and readiness. A completed rollout still needs user-facing checks. Startup probes can give slow initialization its own allowance.
Read diagram description

The stages point to different evidence: scheduling, image retrieval, startup and readiness. A completed rollout still needs user-facing checks. Startup probes can give slow initialization its own allowance. Diagram labels: Pod scheduled?: Placement and resource constraints; Image fetched?: Registry, identity and image reference; Container started?: Configuration, dependencies and startup behavior; Ready for traffic?: Readiness evidence and dependency behavior; User operation succeeds?: Latency, correctness and asynchronous completion.

Following one accepted request to stored completion connects the worker’s missing result to the storage it cannot reach. Container and rollout states help explain how far execution got. The completed job then supplies the observation that matters to the customer, bringing packaging, orchestration and application behavior into the same investigation.

Sources & context

Sources linked in this article. Read alongside the author’s analysis; a citation does not independently verify a publisher’s claims.

Report an error or outdated detail

Related reading

Explore a related question