Skip to content

Commit c3198ef

Browse files
author
Xiaoyu(Tim) Zhang
authored
Merge pull request kubernetes#6423 from lichuqiang/translation-temp7
Translate doc labels-annotations-taints into Chinese
2 parents a096453 + e9ad259 commit c3198ef

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: 知名标签(Label)、注解(Annotation)和 Taints
3+
---
4+
5+
Kubernetes 保留了 kubernetes.io 名字空间下的所有标签和注解。 本文描述了知名的
6+
kubernetes.io 标签和注解。
7+
8+
本文既作为这些标签和注解值的参考,也就这些标签和注解的赋值进行了说明。
9+
10+
**目录:**
11+
<!-- BEGIN MUNGE: GENERATED_TOC -->
12+
13+
- [知名标签、注解和 Taints](#well-known-labels-annotations-and-taints)
14+
- [beta.kubernetes.io/arch](#betakubernetesioarch)
15+
- [beta.kubernetes.io/os](#betakubernetesioos)
16+
- [kubernetes.io/hostname](#kubernetesiohostname)
17+
- [beta.kubernetes.io/instance-type](#betakubernetesioinstance-type)
18+
- [failure-domain.beta.kubernetes.io/region](#failure-domainbetakubernetesioregion)
19+
- [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)
20+
21+
<!-- END MUNGE: GENERATED_TOC -->
22+
23+
24+
## beta.kubernetes.io/arch
25+
26+
示例:`beta.kubernetes.io/arch=amd64`
27+
28+
用于:节点
29+
30+
Kubelet 用 Go 中定义的 `runtime.GOARCH` 值来填充该标签。 这在诸如混用 arm 和 x86 节点的情况下很有用。
31+
32+
## beta.kubernetes.io/os
33+
34+
示例:`beta.kubernetes.io/os=linux`
35+
36+
用于:节点
37+
38+
Kubelet 用该 Go 中定义的 `runtime.GOOS` 值来填充该标签。 这在集群中存在不同操作系统的节点时很有用(尽管当前 Kubernetes 只支持 Linux 操作系统)。
39+
40+
## kubernetes.io/hostname
41+
42+
示例:`kubernetes.io/hostname=ip-172-20-114-199.ec2.internal`
43+
44+
用于:节点
45+
46+
Kubelet 用 hostname 值来填充该标签。 注意:可以通过向 kubelet 传入 `--hostname-override`
47+
参数对 “真正的” hostname 进行修改。
48+
49+
## beta.kubernetes.io/instance-type
50+
51+
示例:`beta.kubernetes.io/instance-type=m3.medium`
52+
53+
用于:节点
54+
55+
Kubelet 用 `cloudprovider` 中定义的实例类型来填充该标签。 未使用 `cloudprovider` 时不会设置该标签。
56+
该标签在想要将某些负载定向到特定实例类型的节点上时会很有用,但通常用户更希望依赖 Kubernetes 调度器来执行基于资源的调度,所以用户应该致力于基于属性而不是实例类型来进行调度(例如:需要一个 CPU,而不是 `g2.2xlarge`)。
57+
58+
59+
## failure-domain.beta.kubernetes.io/region
60+
61+
参考 [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone).
62+
63+
## failure-domain.beta.kubernetes.io/zone
64+
65+
示例:
66+
67+
`failure-domain.beta.kubernetes.io/region=us-east-1`
68+
69+
`failure-domain.beta.kubernetes.io/zone=us-east-1c`
70+
71+
用于:节点、PersistentVolume
72+
73+
用于节点: Kubelet 用 `cloudprovider` 中定义的区域(zone)信息来填充该标签。 未使用 `cloudprovider`
74+
时不会设置该标签,但如果该标签在你的拓扑中有意义的话,应该考虑设置。
75+
76+
用于 PersistentVolume:在 GCE 和 AWS 中,`PersistentVolumeLabel` 准入控制器会自动添加区域标签。
77+
78+
在单区的集群中,Kubernetes 会自动将同一副本控制器或服务下的 pod 分散到不同的节点上 (以降低故障的影响)。
79+
在多区的集群中,这种分散的行为扩展到跨区的层面 (以降低区域故障的影响)。 跨区分散通过 SelectorSpreadPriority
80+
来实现。
81+
82+
这是一种尽力而为(best-effort)的处置方式, 如果集群中的区域是异构的 (例如:不同区域之间的节点数量、
83+
节点类型或 pod 资源需求不同),可能使得 pod 在各区域间无法均匀分布。 如有需要,用户可以使用同质的区域
84+
(节点数量和类型相同) 来减小 pod 分布不均的可能性。
85+
86+
由于卷不能跨区域挂载(attach),调度器 (通过 VolumeZonePredicate 断言) 也会保证需要特定卷的 pod
87+
被调度到卷所在的区域中。
88+
89+
90+
区域和地域(region)的实际值无关紧要,两者的层次含义也没有严格的定义。 最终期望是,除非整个地域故障,
91+
否则某一区域节点的故障不应该影响到其他区域的节点。 例如,通常区域间应该避免共用同一个网络交换机。
92+
具体的规划取决于特定的基础设备—— three-rack 设备所选择的设置与多数据中心截然不同。
93+
94+
如果 `PersistentVolumeLabel` 准入控制器不支持自动为 PersistentVolume 打标签,且用户希望防止 pod
95+
跨区域进行卷的挂载,应考虑手动打标签 (或对 `PersistentVolumeLabel` 增加支持)。 如果用户的基础设施没有这种约束,则不需要为卷添加区域标签。
96+
97+
98+
99+
100+
101+
102+
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
103+
[![分析](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/api-reference/labels-annotations-taints.md?pixel)]()
104+
<!-- END MUNGE: GENERATED_ANALYTICS -->

0 commit comments

Comments
 (0)