From deab01297125fdd71bcff33551e6e024e8db7f57 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Thu, 16 Mar 2023 13:04:28 +0800 Subject: [PATCH] [zh] sync labels-annotations-taints/_index.md --- .../labels-annotations-taints/_index.md | 303 ++++++++++++++++-- 1 file changed, 279 insertions(+), 24 deletions(-) diff --git a/content/zh-cn/docs/reference/labels-annotations-taints/_index.md b/content/zh-cn/docs/reference/labels-annotations-taints/_index.md index 0a0a304474..9208ab9817 100644 --- a/content/zh-cn/docs/reference/labels-annotations-taints/_index.md +++ b/content/zh-cn/docs/reference/labels-annotations-taints/_index.md @@ -4,7 +4,6 @@ content_type: concept weight: 40 no_list: true --- - +### kube-aggregator.kubernetes.io/automanaged {#kube-aggregator-kubernetesio-automanaged} + +例子:`kube-aggregator.kubernetes.io/automanaged: "onstart"` + +用于:APIService + +`kube-apiserver` 会在由 API 服务器自动创建的所有 APIService 对象上设置这个标签。 +该标签标记了控制平面应如何管理该 APIService。你不应自行添加、修改或删除此标签。 + +{{< note >}} + +当自动托管的 APIService 对象没有内置或自定义资源 API 对应于该 APIService 的 API 组/版本时, +它将被 kube-apiserver 删除。 +{{< /note >}} + + +有两个可能的值: + +- `onstart`:API 服务器应在启动时协调 APIService,但在其他时间不会进行协调。 +- `true`:API 服务器应持续协调此 APIService。 + + +### service.alpha.kubernetes.io/tolerate-unready-endpoints(已弃用) {#service-alpha-kubernetes-io-tolerate-unready-endpoints-deprecated} + +用于:StatefulSet + +Service 上的这个注解表示 Endpoints 控制器是否应该继续为未准备好的 Pod 创建 Endpoints。 +这些 Service 的 Endpoints 保留其 DNS 记录,并从 kubelet 启动 Pod 中的所有容器并将其标记为 +**Running** 的那一刻起继续接收 Service 的流量,直到 kubelet 停止所有容器并从 API 服务器删除 Pod 为止。 + + ### beta.kubernetes.io/instance-type (已弃用) {#beta-kubernetes-io-instance-type} +{{< note >}} -{{< note >}} 从 v1.17 开始,此标签已弃用,取而代之的是 [node.kubernetes.io/instance-type](#nodekubernetesioinstance-type)。 {{< /note >}} +从 v1.17 开始,此标签已弃用,取而代之的是 [node.kubernetes.io/instance-type](#nodekubernetesioinstance-type)。 +{{< /note >}} -{{< note >}} 从 v1.17 开始,此标签已弃用,取而代之的是 [topology.kubernetes.io/region](#topologykubernetesioregion)。 {{}} +从 v1.17 开始,此标签已弃用,取而代之的是 [topology.kubernetes.io/region](#topologykubernetesioregion)。 +{{}} -{{< note >}} 从 v1.17 开始,此标签已弃用,取而代之的是 [topology.kubernetes.io/zone](#topologykubernetesiozone)。 {{}} +从 v1.17 开始,此标签已弃用,取而代之的是 [topology.kubernetes.io/zone](#topologykubernetesiozone)。 +{{}} + +### pv.kubernetes.io/bind-completed {#pv-kubernetesiobind-completed} + + +例子:`pv.kubernetes.io/bind-completed: "yes"` + +用于:PersistentVolumeClaim + +当在 PersistentVolumeClaim (PVC) 上设置此注解时,表示 PVC 的生命周期已通过初始绑定设置。 +当存在此注解时,该信息会改变控制平面解释 PVC 对象状态的方式。此注解的值对 Kubernetes 无关紧要。 + +### pv.kubernetes.io/bound-by-controller {#pv-kubernetesioboundby-controller} + + +例子:`pv.kubernetes.io/bound-by-controller: "yes"` + +用于:PersistentVolume、PersistentVolumeClaim + +如果此注解设置在 PersistentVolume 或 PersistentVolumeClaim 上,则表示存储绑定 +(PersistentVolume → PersistentVolumeClaim,或 PersistentVolumeClaim → PersistentVolume) +已由{{< glossary_tooltip text="控制器" term_id="controller" >}}配置完毕。 +如果未设置此注解,且存在存储绑定,则缺少该注解意味着绑定是手动完成的。此注解的值无关紧要。 + +### pv.kubernetes.io/provisioned-by {#pv-kubernetesiodynamically-provisioned} + + +例子:`pv.kubernetes.io/provisioned-by: "kubernetes.io/rbd"` + +用于:PersistentVolume + +此注解被添加到已由 Kubernetes 动态制备的 PersistentVolume (PV)。 +它的值是创建卷的卷插件的名称。它同时服务于用户(显示 PV 的来源)和 Kubernetes(识别其决策中动态制备的 PV)。 + +### pv.kubernetes.io/migrated-to {#pv-kubernetesio-migratedto} + + +例子:`pv.kubernetes.io/migrated-to: pd.csi.storage.gke.io` + +用于:PersistentVolume、PersistentVolumeClaim + +它被添加到 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC),应该由其相应的 CSI +驱动程序通过 `CSIMigration` 特性门控动态制备/删除。设置此注解后,Kubernetes 组件将“停止”, +而 `external-provisioner` 将作用于对象。 ### topology.kubernetes.io/zone {#topologykubernetesiozone} @@ -689,6 +826,11 @@ A region represents a larger domain, made up of one or more zones. It is uncomm 在 PersistentVolume 上:拓扑感知卷配置器将自动在 `PersistentVolume` 上设置 Node 亲和性约束。 + 一个 Zone 代表一个逻辑故障域。Kubernetes 集群通常跨越多个 Zone 以提高可用性。虽然 Zone 的确切定义留给基础设施实现, 但 Zone 的常见属性包括 Zone 内非常低的网络延迟、Zone 内的免费网络流量以及与其他 Zone 的故障独立性。 例如,一个 Zone 内的 Node 可能共享一个网络交换机,但不同 Zone 中的 Node 无法共享交换机。 @@ -708,7 +850,8 @@ Kubernetes 对 Zone 和 Region 的结构做了一些假设: 1. Zone 和 Region 是分层的:Zone 是 Region 的严格子集,没有 Zone 可以在两个 Region 中; -2. Zone 名称跨 Region 是唯一的;例如,Region “africa-east-1” 可能由 Zone “africa-east-1a” 和 “africa-east-1b” 组成。 +2. Zone 名称跨 Region 是唯一的;例如,Region “africa-east-1” 可能由 Zone “africa-east-1a” + 和 “africa-east-1b” 组成。 +### volume.beta.kubernetes.io/storage-class(已弃用) {#volume-beta-storage-class} + +例子:`volume.beta.kubernetes.io/storage-class: "example-class"` + +用于:PersistentVolume、PersistentVolumeClaim + + +此注解可以为 PersistentVolume (PV) 或 PersistentVolumeClaim (PVC) 指定 +[StorageClass](/zh-cn/docs/concepts/storage/storage-classes/)。 +当 `storageClassName` 属性和 `volume.beta.kubernetes.io/storage-class` 注解均被指定时, +注解 `volume.beta.kubernetes.io/storage-class` 将优先于 `storageClassName` 属性。 + +此注解已被弃用。作为替代方案,你应该为 PersistentVolumeClaim 或 PersistentVolume 设置 +[`storageClassName` 字段](/zh-cn/docs/concepts/storage/persistent-volumes/#class)。 + +### volume.kubernetes.io/selected-node {#selected-node} + +用于:PersistentVolumeClaim + +此注解被添加到调度程序所触发的 PVC 上,对应的 PVC 需要被动态制备。注解值是选定节点的名称。 + + +### volumes.kubernetes.io/controller-managed-attach-detach {#controller-managed-attach-detach} + +用于:Node + +如果节点已在其自身上设置了注解 `volumes.kubernetes.io/controller-managed-attach-detach`, +那么它的存储挂接和解除挂接的操作是交由运行在 +{{< glossary_tooltip term_id="kube-controller-manager" text="kube-controller-manager" >}} +中的**卷挂接/解除挂接**{{< glossary_tooltip text="控制器" term_id="controller" >}}来管理的。 + +注解的值并不重要;如果节点上存在该注解,则由控制器管理存储挂接和解除挂接的操作。 + -{{< note >}} 你只能在具有单个容器的 Pod 上设置此注解。 从 v1.20 开始,此注解已弃用。1.21 中删除了实验性 Hyper-V 支持。 {{}} @@ -1027,12 +1235,13 @@ When a single IngressClass resource has this annotation set to `"true"`, new Ing ### kubernetes.io/ingress.class (已弃用) {#kubernetes-io-ingress-class} {{< note >}} + 从 v1.18 开始,不推荐使用此注解以鼓励使用 `spec.ingressClassName`。 {{}} @@ -1111,6 +1320,30 @@ The value of the annotation is the container name that is default for this Pod. 此注解的值是此 Pod 的默认容器名称。例如,未指定 `-c` 或 `--container` 标志时执行 `kubectl logs` 或 `kubectl exec` 命令将使用此默认容器。 + +### kubectl.kubernetes.io/default-logs-container(已弃用) {#default-logs-container} + +例子:`kubectl.kubernetes.io/default-logs-container: "front-end-app"` + +此注解的值是针对此 Pod 的默认日志记录容器的名称。例如,不带 `-c` 或 `--container` +标志的 `kubectl logs` 将使用此默认容器。 + +{{< note >}} + +此注解已被弃用。取而代之的是使用 +[`kubectl.kubernetes.io/default-container`](#kubectl-kubernetes-io-default-container) 注解。 +Kubernetes v1.25 及更高版本将忽略此注解。 +{{< /note >}} + -### scheduler.alpha.kubernetes.io/preferAvoidPods (deprecated) {#scheduleralphakubernetesio-preferavoidpods} +### scheduler.alpha.kubernetes.io/preferAvoidPods(已弃用) {#scheduleralphakubernetesio-preferavoidpods} 用于:Node @@ -1523,6 +1756,30 @@ for more information. 请参阅[在名字空间级别实施 Pod 安全性](/zh-cn/docs/concepts/security/pod-security-admission)了解更多信息。 +### rbac.authorization.kubernetes.io/autoupdate + + +例子:`rbac.authorization.kubernetes.io/autoupdate: "false"` + +用于:ClusterRole、ClusterRoleBinding、Role、RoleBinding + + +当在 kube-apiserver 创建的默认 RBAC 对象上将此注解设置为 `"true"` 时, +这些对象会在服务器启动时自动更新以添加缺少的权限和主体(额外的权限和主体留在原处)。 +要防止自动更新特定的 Role 或 RoleBinding,请将此注解设置为 `"false"`。 +如果你创建自己的 RBAC 对象并将此注解设置为 `"false"`,则 `kubectl auth reconcile` +(允许协调在{{< glossary_tooltip text="清单" term_id="manifest" >}}中给出的任意 RBAC 对象) +尊重此注解并且不会自动添加缺少的权限和主体。 + - ### kubernetes.io/psp(已弃用) {#kubernetes-io-psp} 例如:`kubernetes.io/psp: restricted` @@ -1588,13 +1844,13 @@ based on setting `securityContext` within the Pod's `.spec`. seccomp 配置文件应用于 Pod 或其容器的步骤。 该教程介绍了在 Kubernetes 中配置 seccomp 的支持机制,基于在 Pod 的 `.spec` 中设置 `securityContext`。 -### snapshot.storage.kubernetes.io/allowVolumeModeChange {#allow-volume-mode-change} +### snapshot.storage.kubernetes.io/allow-volume-mode-change {#allow-volume-mode-change} -例子:`snapshot.storage.kubernetes.io/allowVolumeModeChange: "true"` +例子:`snapshot.storage.kubernetes.io/allow-volume-mode-change: "true"` 用于:VolumeSnapshotContent @@ -1607,8 +1863,8 @@ created from a VolumeSnapshot. Refer to [Converting the volume mode of a Snapshot](/docs/concepts/storage/volume-snapshots/#convert-volume-mode) and the [Kubernetes CSI Developer Documentation](https://kubernetes-csi.github.io/docs/) for more information. --> -值可以是 `true` 或者 `false`。 -这决定了当从 VolumeSnapshot 创建 {{< glossary_tooltip text="PersistentVolumeClaim" term_id="persistent-volume-claim" >}} +值可以是 `true` 或者 `false`。取值决定了当从 VolumeSnapshot 创建 +{{< glossary_tooltip text="PersistentVolumeClaim" term_id="persistent-volume-claim" >}} 时,用户是否可以修改源卷的模式。 更多信息请参阅[转换快照的卷模式](/zh-cn/docs/concepts/storage/volume-snapshots/#convert-volume-mode)和 @@ -1787,4 +2043,3 @@ no longer sets or uses this deprecated taint. kubeadm 先前应用在控制平面节点上的污点,仅允许在其上调度关键工作负载。 替换为 [`node-role.kubernetes.io/control-plane`](#node-role-kubernetes-io-control-plane-taint); kubeadm 不再设置或使用这个废弃的污点。 -