Information in this document may be out of date

This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: kubectl annotate

kubectl annotate

简介

更新一个或多个资源上的注解。

所有 Kubernetes 对象都支持以注解(Annotation)的形式为对象存储额外的数据。 注解是一些键/值对,可以比标签的数据量更大,可以包含诸如结构化 JSON 这类任意字符串值。 各种工具和系统扩展可以使用注解来存储自己的数据。

尝试设置已存在的注解的操作将会失败,除非设置了 --overwrite 选项。 如果 --resource-version 被指定且与服务器上当前资源版本不匹配,命令将会失败。

使用 "kubectl api-resources" 获取可支持的资源完整列表。

kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]

示例

# 使用注解 'description' 和值 'my frontend' 更新 Pod 'foo'
# 如果同一注解被设置多次,则只使用最后一个值
kubectl annotate pods foo description='my frontend'

# 更新在 "pod.json" 中指定 type 和 name 的 Pod
kubectl annotate -f pod.json description='my frontend'

# 更新 Pod 'foo',设置注解 'description' 和值 'my frontend running nginx',覆盖其当前值
kubectl annotate --overwrite pods foo description='my frontend running nginx'

# 更新命名空间中的所有 Pod
kubectl annotate pods --all description='my frontend running nginx'

# 仅在资源版本仍为 1 时更新 Pod 'foo'
kubectl annotate pods foo description='my frontend running nginx' --resource-version=1

# 通过删除名为 'description' 的注解(如果存在)来更新 Pod 'foo'
# 不需要 --overwrite 标志
kubectl annotate pods foo description-

选项

--all

在指定资源类型的命名空间中,选择所有资源。

-A, --all-namespaces

如果为 true,则在所有命名空间中执行指定的操作。

--allow-missing-template-keys     默认值:true

如果为 true,在模板中字段或映射键缺失时忽略模板中的错误。 仅适用于 golang 和 jsonpath 输出格式。

--dry-run string[="unchanged"]     默认值:"none"

必须是 "none"、"server" 或 "client"。如果是 client 策略,仅打印将要发送的对象,而不实际发送。 如果是 server 策略,提交服务器端请求而不持久化资源。

--field-manager string     默认值:"kubectl-annotate"

用于跟踪字段属主关系的管理器的名称。

--field-selector string

过滤所用的选择算符(字段查询),支持 '='、'==' 和 '!='。 (例如 --field-selector key1=value1,key2=value2)。服务器针对每种类型仅支持有限数量的字段查询。

-f, --filename strings

文件名、目录或文件 URL,用于标识要更新注解的资源。

-h, --help

annotate 的帮助命令。

-k, --kustomize string

处理 kustomization 目录。此标志不能与 -f 或 -R 一起使用。

--list

如果为 true,则显示给定资源的注解。

--local

如果为 true,则注解不会与 api-server 通信,而是在本地运行。

-o, --output string

输出格式。可选值为: json、yaml、name、go-template、go-template-file、template、templatefile、jsonpath、jsonpath-as-json、jsonpath-file。

--overwrite

如果为 true,则允许注解被覆盖,否则拒绝覆盖现有注解的更新。

-R, --recursive

递归处理在 -f、--filename 中给出的目录。当你想要管理位于同一目录中的相关清单时很有用。

--resource-version string

如果非空,则只有在所给值是对象的当前资源版本时,注解更新才会成功。仅在指定单个资源时有效。

-l, --selector string

过滤所用的选择算符(标签查询),支持 '='、'==' 和 '!='。 (例如 -l key1=value1,key2=value2)。匹配的对象必须满足所有指定的标签约束。

--show-managed-fields

如果为 true,在以 JSON 或 YAML 格式打印对象时保留 managedFields。

--template string

当 -o=go-template、-o=go-template-file 时使用的模板字符串或模板文件路径。 模板格式为 golang 模板 [http://golang.org/pkg/text/template/#pkg-overview]。

--as string

操作所用的伪装用户名。用户可以是常规用户或命名空间中的服务账号。

--as-group strings

操作所用的伪装用户组,此标志可以被重复设置以指定多个组。

--as-uid string

操作所用的伪装 UID。

--azure-container-registry-config string

含 Azure 容器镜像库配置信息的文件的路径。

--cache-dir string     默认值:"$HOME/.kube/cache"

默认缓存目录。

--certificate-authority string

证书机构的证书文件的路径。

--client-certificate string

TLS 客户端证书文件的路径。

--client-key string

TLS 客户端密钥文件的路径。

--cloud-provider-gce-l7lb-src-cidrs cidrs     默认值:130.211.0.0/22,35.191.0.0/16

GCE 防火墙中为 L7 负载均衡流量代理和健康检查开放的 CIDR。

--cloud-provider-gce-lb-src-cidrs cidrs     默认值:130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16

GCE 防火墙中为 L4 负载均衡流量代理和健康检查开放的 CIDR。

--cluster string

kubeconfig 中要使用的集群的名称。

--context string

kubeconfig 要使用的上下文的名称。

--default-not-ready-toleration-seconds int     默认值:300

设置针对 notReady:NoExecute 的容忍度的 tolerationSeconds,默认添加到所有尚未设置此容忍度的 Pod。

--default-unreachable-toleration-seconds int     默认值:300

设置针对 unreachable:NoExecute 的容忍度的 tolerationSeconds,默认添加到所有尚未设置此容忍度的 Pod。

--disable-compression

如果为 true,则对服务器所有请求的响应不再压缩。

--insecure-skip-tls-verify

如果为 true,则不检查服务器证书的有效性。这将使你的 HTTPS 连接不安全。

--kubeconfig string

CLI 请求要使用的 kubeconfig 文件的路径。

--match-server-version

要求服务器版本与客户端版本匹配。

-n, --namespace string

如果存在,则是此 CLI 请求的命名空间范围。

--password string

对 API 服务器进行基本身份验证所用的密码。

--profile string     默认值:"none"

要记录的性能分析信息。可选值为(none|cpu|heap|goroutine|threadcreate|block|mutex)。

--profile-output string     默认值:"profile.pprof"

性能分析信息要写入的目标文件的名称。

--request-timeout string     默认值:"0"

在放弃某个服务器请求之前等待的时长。非零值应包含相应的时间单位(例如 1s、2m、3h)。 值为零表示请求不会超时。

-s, --server string

Kubernetes API 服务器的地址和端口。

--storage-driver-buffer-duration duration     默认值:1m0s

对存储驱动的写入操作将被缓存的时长;缓存的操作会作为一个事务提交给非内存后端。

--storage-driver-db string     默认值:"cadvisor"

数据库名称。

--storage-driver-host string     默认值:"localhost:8086"

数据库 host:port。

--storage-driver-password string     默认值:"root"

数据库密码。

--storage-driver-secure

使用与数据库的安全连接。

--storage-driver-table string     默认值:"stats"

表名。

--storage-driver-user string     默认值:"root"

数据库用户名。

--tls-server-name string

服务器证书验证所用的服务器名称。如果未提供,则使用与服务器通信所用的主机名。

--token string

向 API 服务器进行身份验证的持有者令牌。

--user string

要使用的 kubeconfig 用户的名称。

--username string

对 API 服务器进行基本身份验证时所用的用户名。

--version version[=true]

--version, --version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本。

--warnings-as-errors

将从服务器收到的警告视为错误,并以非零退出码退出。

另请参见

  • kubectl - kubectl 控制 Kubernetes 集群管理器
最后修改 February 21, 2024 at 11:24 AM PST: [zh] Localize /kubectl/generated/kubectl_annotate (01dcb544c0)