Merry Christmas & Happy 2027! Less downtime. More good times. Celebrating 13 years of sorlavit.com
Skip to content
Sorlavit KimIT Support, Network & Infrastructure Services Let’s talk

ปุ่มแปลไทยจะเปิดบทความผ่าน Google Translate เพื่อแปลอัตโนมัติ โดยคงโค้ดและคำสั่งไว้ตามต้นฉบับ

Kubernetes / Pods, Containers & Application Health

Distinguish normal container completion from a failed long-running service

A container that exits successfully may be correct for a Job but wrong for a Deployment. Inspect the owner and termination context.

Compiled for Sorlavit Kim · Published · Updated · 1 min read

Environment and inputs: Kubernetes · kubectl with supported client/server versions and delegated RBAC. Examples use namespace app unless noted. Check context, namespace, APIs and provider support first.

Start with this check

Confirm the environment and replace sample objects, namespaces, images, paths and hosts with approved targets. Share only relevant, sanitized output. Follow the workload owner’s process for changes.

kubectl -n app get pod worker-0 -o jsonpath='{.metadata.ownerReferences[*].kind}{" "}{.status.containerStatuses[*].lastState.terminated.reason}'

Read the result

The owner kind and recorded state help distinguish batch intent from a continuously supervised process. A successful exit does not prove business output is correct.

Resolve and verify

Compare the controller type, command and expected lifecycle with application design. Correct a process that backgrounds itself or use an appropriate batch controller.

Before changing production

Do not force a completed batch container to remain alive with a sleep loop just to make status look green.

Share this article

Back to all articles