diff --git a/content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md b/content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md new file mode 100644 index 0000000000..3c0857c3e3 --- /dev/null +++ b/content/zh/docs/reference/kubernetes-api/labels-annotations-taints.md @@ -0,0 +1,204 @@ +--- +title: 知名标签、注解和污点 +content_template: templates/concept +weight: 10 +--- + + +{{% capture overview %}} + +Kubernetes 保留 kubernetes.io 命名空间中的所有标签和注解。 + + +本文档既可以作为值的参考,也可以作为分配值的协调点。 + +{{% /capture %}} + +{{% capture body %}} + +## beta.kubernetes.io/arch + + +例子:`beta.kubernetes.io/arch=amd64` + + +用于:节点 + + +Kubelet 用 Go 定义的 `runtime.GOARCH` 填充它。例如,如果您混合使用 arm 和 x86 节点,这可能会很方便。 + +## beta.kubernetes.io/os + + +例如:`beta.kubernetes.io/os=linux` + + +用于:节点 + + +Kubelet 用 Go 定义的 `runtime.GOOS` 填充它。如果您在您的集群中(尽管目前 Linux 是 Kubernetes 支持的唯一操作系统)混合使用操作系统,这可能会很方便。 + +## kubernetes.io/hostname + + +例如:`kubernetes.io/hostname=ip-172-20-114-199.ec2.internal` + + +用于:节点 + + +Kubelet 使用主机名填充它。请注意,可以通过将 `--hostname-override` 参数传递给 kubelet,以便使其根据“实际”主机名对主机名进行变更。 + + +## beta.kubernetes.io/instance-type + + +例子:`beta.kubernetes.io/instance-type=m3.medium` + + +用于:节点 + + +Kubelet 使用 `cloudprovider` 定义的实例类型填充它。如果不使用 cloudprovider,则不会对它进行设置。 +如果您想将某些工作负载定位到某个实例类型,这可能很方便。 +但通常您希望依靠 Kubernetes 调度程序来执行基于资源的调度,您应该根据属性而不是实例类型来安排计划(例如,需要一个 GPU,而不是 `g2.2xlarge`) + +## failure-domain.beta.kubernetes.io/region + + +见 [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)。 + +## failure-domain.beta.kubernetes.io/zone {#failure-domainbetakubernetesiozone} + + +例如: + +`failure-domain.beta.kubernetes.io/region=us-east-1` + +`failure-domain.beta.kubernetes.io/zone=us-east-1c` + + +用于:节点,持久卷 + + +在节点上:Kubelet 使用 `cloudprovider` 定义的区域信息填充它。如果不使用 `cloudprovider`,则不会设置它。 +但如果在拓扑中有意义,则应考虑在节点上设置它。 + + +在持久卷上:基于 GCE 和 AWS 环境,`PersistentVolumeLabel` 准入控制器会自动将区域标签添加到持久卷。 + + +Kubernetes 将自动把 pod 分布在跨越单个区域中的集群节点的副本控制器或服务中(以减少故障的影响)。 + +对于多区域集群,可以跨区域实现这种扩展行为(以减少区域故障的影响)。 + +这是通过 SelectorSpreadPriority 实现的。 + + +这是一个最佳的布局。但是,如果集群中的区域是异构的(例如,不同数量的节点、不同类型的节点或不同的 pod 资源需求),这些都可能会阻止您的 pod 在不同的区域中做到均匀分布。 + + +如果需要,可以使用同质区域(相同数量和类型的节点)来减少不均匀分布的概率。 + + +调度器(通过 VolumeZonePredicate)还将确保声明给定卷的 pod 只放置在与该卷相同的区域中,因为卷不能跨区域挂载。 + + +区域和区域的实际值无关紧要,层次结构的含义也没有严格定义。期望不同区域节点的故障应该是不相关的,除非整个区域都发生故障。 + +例如, + +区域通常应该避免共享一个网络交换机。确切的映射取决于特定的基础设施,三机架安装将选择与多数据中心配置非常不同的设置。 + + +如果 `PersistentVolumeLabel` 不支持自动标记您的持久卷,您又希望调度程序能防止 pod 在不同的区域挂载卷,则您应该考虑手动添加标签(或添加对 `PersistentVolumeLabel` 的支持)。 + +如果您的基础设施没有此约束,则根本不需要将区域标签添加到卷中。 +{{% /capture %}}