kubectl tip of the day: wait like a boss – Hacker Noon

Meet the kubectl wait command and see it in action here.

First, let’s create a job called worker that does something utterly useless in itself (print the word blah to stdout and pause for 3 seconds ten times):

$ kubectl version --short
Client Version: v1.12.0
Server Version: v1.11.0
$ kubectl create ns waitplayground
$ kubectl -n waitplayground 
create job worker
--image centos:7 --
sh -c
'for i in {1..10} ; do echo blah ; sleep 3; done'

You could keep an eye on the resources with:

$ kubectl -n waitplayground get job,po

But what if you’d like to kick off another job after worker has completed? Here you go:

$ kubectl -n waitplayground 
wait --for=condition=complete --timeout=32s
job/worker
job.batch/worker condition met

Note that above I’ve set the timeout (32 sec) slightly higher than what I’d expect the worker job to take (ca. 10 * 3 sec). Once the kubectl wait command returns, you just need to inspect its output and you can then make a decision based on this to, for example, launch a dependent job or retry the original one.

read original article here