Kubectl wait: Difference between revisions
Line 25: | Line 25: | ||
{{Warn|The resource must '''exist''' for this option to be effective. If the resource does not exist, then the wait command exits immediately with an error message ("Error from server (NotFound): pods "..." not found"), irrespective of the timeout value.}} | {{Warn|The resource must '''exist''' for this option to be effective. If the resource does not exist, then the wait command exits immediately with an error message ("Error from server (NotFound): pods "..." not found"), irrespective of the timeout value.}} | ||
--timeout=30s | ... --timeout=30s ... | ||
Revision as of 16:51, 20 September 2019
Internal
Overview
The command waits for a specific condition, as reported by the ".status.conditions" field on a pod state, on one or many pods. If more than one pod is specified, the condition must be seen in every pod. Alternatively, the command can wait for a specific pod to be deleted.
The documentation mentions "resources" instead of pods. Can wait be applied for other things than pods? If yes, what is them meaning of "condition" in that context, as other resources may not have conditions?
Wait for a Specific Condition
kubectl wait --for=condition=Ready pod <pod-name>
Wait for Deletion
kubectl wait --for=delete pod <pod-name> --timeout=60s
Options
--timeout
The length of time to wait before giving up. Zero means check once and don't wait, negative means wait for a week.
The resource must exist for this option to be effective. If the resource does not exist, then the wait command exits immediately with an error message ("Error from server (NotFound): pods "..." not found"), irrespective of the timeout value.
... --timeout=30s ...
--all=false: Select all resources in the namespace of the specified resource types -A, --all-namespaces=false: If present, list the requested object(s) across all namespaces. Namespace in current
context is ignored even if specified with --namespace.
--allow-missing-template-keys=true: If 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-selector=: Selector (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.
-f, --filename=[]: identifying the resource. --for=: The condition to wait on: [delete|condition=condition-name]. -o, --output=: Output format. One of:
json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.
-R, --recursive=true: Process the directory used in -f, --filename recursively. Useful when you want to manage related
manifests organized within the same directory.
-l, --selector=: Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2) --template=: Template string or path to template file to use when -o=go-template, -o=go-template-file. The
template format is golang templates [1].
Usage:
kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=delete|--for
condition=available] [options]
Use "kubectl options" for a list of global command-line options (applies to all commands). Ovidiu-Feodorov:~ ovidiufeodorov$