How do you wait for something to happen with `kubectl`? I used to use a `while true` [loop](https://hackernoon.com/tagged/loop) in a shell [script](https://hackernoon.com/tagged/script) and check with a complicated `kubectl get` command until I’d see a certain condition, such as `condition=Ready` would be met. No more! :) Meet the [kubectl wait](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#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. That was it, happy weekend and keep kubecuddling ;)