Wait for job/pod completion in Kubernetes or Google Container Engine

5/6/2016

What's the best way in script to wait for a job or pod to complete in Kubernetes or Google Container Engine?

In particular, it would be better to be notified rather than polling for status in kubectl, but I'd be happy with a fairly efficient loop without any slips between the cracks. Essentially, I'd like the equivalent of a plain docker run since that blocks until command termination, but I don't want to use docker directly in this case.

I looked at Github Issue #1899 but it looks unresolved as yet.

-- Glen Low
docker
google-kubernetes-engine
kubernetes

1 Answer

5/6/2016

It's not really what it was designed for, but you could run kubectl attach $POD. It'll show you the output of the pod while it's running and automatically terminate once the pod is done running.

Of course, you'll have to handle the error that it prints if the pod is already done running, since it's only really meant for use on pods that are currently running.

-- Alex Robinson
Source: StackOverflow