name: label synopsis: Update the labels on a resource description: |- Update the labels on a resource. A label must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 63 characters. If --overwrite is true, then existing labels can be overwritten, otherwise attempting to overwrite a label will result in an error. If --resource-version is specified, then updates will use this resource version, otherwise the existing resource-version will be used. options: - name: all default_value: "false" usage: | select all resources in the namespace of the specified resource types - name: dry-run default_value: "false" usage: | If true, only print the object that would be sent, without sending it. - name: filename shorthand: f default_value: '[]' usage: | Filename, directory, or URL to a file identifying the resource to update the labels - name: include-extended-apis default_value: "true" usage: | If true, include definitions of new APIs via calls to the API server. [default true] - name: no-headers default_value: "false" usage: When using the default output, don't print headers. - name: output shorthand: o usage: | Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/HEAD/docs/user-guide/jsonpath.md]. - name: output-version usage: | Output the formatted object with the given group version (for ex: 'extensions/v1beta1'). - name: overwrite default_value: "false" usage: | If true, allow labels to be overwritten, otherwise reject label updates that overwrite existing labels. - name: record default_value: "false" usage: Record current kubectl command in the resource annotation. - name: recursive shorthand: R default_value: "false" usage: If true, process directory recursively. - name: resource-version usage: | If non-empty, the labels update will only succeed if this is the current resource-version for the object. Only valid when specifying a single resource. - name: selector shorthand: l usage: Selector (label query) to filter on - name: show-all shorthand: a default_value: "false" usage: | When printing, show all resources (default hide terminated pods.) - name: show-labels default_value: "false" usage: | When printing, show all labels as the last column (default hide labels column) - name: sort-by usage: | If non-empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression must be an integer or a string. - name: template usage: | Template 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]. inherited_options: - name: alsologtostderr default_value: "false" usage: log to standard error as well as files - name: api-version usage: | DEPRECATED: The API version to use when talking to the server - name: as usage: Username to impersonate for the operation. - name: certificate-authority usage: Path to a cert. file for the certificate authority. - name: client-certificate usage: Path to a client certificate file for TLS. - name: client-key usage: Path to a client key file for TLS. - name: cluster usage: The name of the kubeconfig cluster to use - name: context usage: The name of the kubeconfig context to use - name: insecure-skip-tls-verify default_value: "false" usage: | If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure. - name: kubeconfig usage: Path to the kubeconfig file to use for CLI requests. - name: log-backtrace-at default_value: :0 usage: when logging hits line file:N, emit a stack trace - name: log-dir usage: If non-empty, write log files in this directory - name: log-flush-frequency default_value: 5s usage: Maximum number of seconds between log flushes - name: logtostderr default_value: "true" usage: log to standard error instead of files - name: match-server-version default_value: "false" usage: Require server version to match client version - name: namespace usage: If present, the namespace scope for this CLI request. - name: password usage: Password for basic authentication to the API server. - name: server shorthand: s usage: The address and port of the Kubernetes API server - name: stderrthreshold default_value: "2" usage: logs at or above this threshold go to stderr - name: token usage: Bearer token for authentication to the API server. - name: user usage: The name of the kubeconfig user to use - name: username usage: Username for basic authentication to the API server. - name: v default_value: "0" usage: log level for V logs - name: vmodule usage: | comma-separated list of pattern=N settings for file-filtered logging example: |- # Update pod 'foo' with the label 'unhealthy' and the value 'true'. kubectl label pods foo unhealthy=true # Update pod 'foo' with the label 'status' and the value 'unhealthy', overwriting any existing value. kubectl label --overwrite pods foo status=unhealthy # Update all pods in the namespace kubectl label pods --all status=unhealthy # Update a pod identified by the type and name in "pod.json" kubectl label -f pod.json status=unhealthy # Update pod 'foo' only if the resource is unchanged from version 1. kubectl label pods foo status=unhealthy --resource-version=1 # Update pod 'foo' by removing a label named 'bar' if it exists. # Does not require the --overwrite flag. kubectl label pods foo bar- see_also: - kubectl