wait

Wait for the pod “busybox1” to contain the status condition of type “Ready”

  1. kubectl wait --for=condition=Ready pod/busybox1

The default value of status condition is true; you can set it to false

  1. kubectl wait --for=condition=Ready=false pod/busybox1

Wait for the pod “busybox1” to be deleted, with a timeout of 60s, after having issued the “delete” command

  1. kubectl delete pod/busybox1
  2. kubectl wait --for=delete pod/busybox1 --timeout=60s

Experimental: Wait for a specific condition on one or many resources.

The command takes multiple resources and waits until the specified condition is seen in the Status field of every given resource.

Alternatively, the command can wait for the given set of resources to be deleted by providing the “delete” keyword as the value to the —for flag.

A successful message will be printed to stdout indicating when the specified condition has been met. You can use -o option to change to output destination.

Usage

$ kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=delete|--for condition=available]

Flags

NameShorthandDefaultUsage
allfalseSelect all resources in the namespace of the specified resource types
all-namespacesAfalseIf present, list the requested object(s) across all namespaces. Namespace in current context is ignored even if specified with —namespace.
allow-missing-template-keystrueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.
field-selectorSelector (field query) to filter on, supports ‘=’, ‘==’, and ‘!=’.(e.g. —field-selector key1=value1,key2=value2). The server only supports a limited number of field queries per type.
filenamef[]identifying the resource.
forThe condition to wait on: [delete|condition=condition-name]. The default status value of condition-name is true, you can set false with condition=condition-name=false
localfalseIf true, annotation will NOT contact api-server but run locally.
outputoOutput format. One of: json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file.
recursiveRtrueProcess the directory used in -f, —filename recursively. Useful when you want to manage related manifests organized within the same directory.
selectorlSelector (label query) to filter on, supports ‘=’, ‘==’, and ‘!=’.(e.g. -l key1=value1,key2=value2)
show-managed-fieldsfalseIf true, keep the managedFields when printing objects in JSON or YAML format.
templateTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
timeout30sThe length of time to wait before giving up. Zero means check once and don’t wait, negative means wait for a week.