@@ -91,13 +91,13 @@ section.
91
91
92
92
和所有其他 Kubernetes 配置一样,DaemonSet 需要 ` apiVersion ` 、` kind ` 和 ` metadata ` 字段。
93
93
有关配置文件的基本信息,参见
94
- [ 部署应用] ( /zh/docs/tasks/run-application/run-stateless-application-deployment/ ) 、
95
- [ 配置容器] ( /zh/docs/tasks/ ) 和
96
- [ 使用 kubectl 进行对象管理] ( /zh/docs/concepts/overview/working-with-objects/object-management/ )
94
+ [ 部署应用] ( /zh-cn /docs/tasks/run-application/run-stateless-application-deployment/ ) 、
95
+ [ 配置容器] ( /zh-cn /docs/tasks/ ) 和
96
+ [ 使用 kubectl 进行对象管理] ( /zh-cn /docs/concepts/overview/working-with-objects/object-management/ )
97
97
文档。
98
98
99
99
DaemonSet 对象的名称必须是一个合法的
100
- [ DNS 子域名] ( /zh/docs/concepts/overview/working-with-objects/names#dns-subdomain-names ) 。
100
+ [ DNS 子域名] ( /zh-cn /docs/concepts/overview/working-with-objects/names#dns-subdomain-names ) 。
101
101
102
102
DaemonSet 也需要一个 [ ` .spec ` ] ( https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status ) 配置段。
103
103
@@ -120,14 +120,14 @@ A Pod Template in a DaemonSet must have a [`RestartPolicy`](/docs/concepts/workl
120
120
121
121
` .spec ` 中唯一必需的字段是 ` .spec.template ` 。
122
122
123
- ` .spec.template ` 是一个 [ Pod 模板] ( /zh/docs/concepts/workloads/pods/#pod-templates ) 。
123
+ ` .spec.template ` 是一个 [ Pod 模板] ( /zh-cn /docs/concepts/workloads/pods/#pod-templates ) 。
124
124
除了它是嵌套的,因而不具有 ` apiVersion ` 或 ` kind ` 字段之外,它与
125
125
{{< glossary_tooltip text="Pod" term_id="pod" >}} 具有相同的 schema。
126
126
127
127
除了 Pod 必需字段外,在 DaemonSet 中的 Pod 模板必须指定合理的标签(查看 [ Pod 选择算符] ( #pod-selector ) )。
128
128
129
129
在 DaemonSet 中的 Pod 模板必须具有一个值为 ` Always ` 的
130
- [ ` RestartPolicy ` ] ( /zh/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy ) 。
130
+ [ ` RestartPolicy ` ] ( /zh-cn /docs/concepts/workloads/pods/pod-lifecycle/#restart-policy ) 。
131
131
当该值未指定时,默认是 ` Always ` 。
132
132
133
133
<!--
@@ -145,7 +145,7 @@ unintentional orphaning of Pods, and it was found to be confusing to users.
145
145
### Pod 选择算符 {#pod-selector}
146
146
147
147
` .spec.selector ` 字段表示 Pod 选择算符,它与
148
- [ Job] ( /zh/docs/concepts/workloads/controllers/job/ ) 的 ` .spec.selector ` 的作用是相同的。
148
+ [ Job] ( /zh-cn /docs/concepts/workloads/controllers/job/ ) 的 ` .spec.selector ` 的作用是相同的。
149
149
150
150
你必须指定与 ` .spec.template ` 的标签匹配的 Pod 选择算符。
151
151
此外,一旦创建了 DaemonSet,它的 ` .spec.selector ` 就不能修改。
@@ -162,7 +162,7 @@ The `.spec.selector` is an object consisting of two fields:
162
162
* `matchExpressions` - allows to build more sophisticated selectors by specifying key,
163
163
list of values and an operator that relates the key and values.
164
164
-->
165
- * ` matchLabels ` - 与 [ ReplicationController] ( /zh/docs/concepts/workloads/controllers/replicationcontroller/ )
165
+ * ` matchLabels ` - 与 [ ReplicationController] ( /zh-cn /docs/concepts/workloads/controllers/replicationcontroller/ )
166
166
的 ` .spec.selector ` 的作用相同。
167
167
* ` matchExpressions ` - 允许构建更加复杂的选择器,可以通过指定 key、value
168
168
列表以及将 key 和 value 列表关联起来的 operator。
@@ -192,9 +192,9 @@ If you do not specify either, then the DaemonSet controller will create Pods on
192
192
### 仅在某些节点上运行 Pod {#running-pods-on-only-some-nodes}
193
193
194
194
如果指定了 ` .spec.template.spec.nodeSelector ` ,DaemonSet 控制器将在能够与
195
- [ Node 选择算符] ( /zh/docs/concepts/scheduling-eviction/assign-pod-node/ ) 匹配的节点上创建 Pod。
195
+ [ Node 选择算符] ( /zh-cn /docs/concepts/scheduling-eviction/assign-pod-node/ ) 匹配的节点上创建 Pod。
196
196
类似这种情况,可以指定 ` .spec.template.spec.affinity ` ,之后 DaemonSet 控制器
197
- 将在能够与[ 节点亲和性] ( /zh/docs/concepts/scheduling-eviction/assign-pod-node/ )
197
+ 将在能够与[ 节点亲和性] ( /zh-cn /docs/concepts/scheduling-eviction/assign-pod-node/ )
198
198
匹配的节点上创建 Pod。
199
199
如果根本就没有指定,则 DaemonSet Controller 将在所有节点上创建 Pod。
200
200
@@ -228,7 +228,7 @@ DaemonSet 确保所有符合条件的节点都运行该 Pod 的一个副本。
228
228
229
229
* Pod 行为的不一致性:正常 Pod 在被创建后等待调度时处于 ` Pending ` 状态,
230
230
DaemonSet Pods 创建后不会处于 ` Pending ` 状态下。这使用户感到困惑。
231
- * [ Pod 抢占] ( /zh/docs/concepts/configuration /pod-priority-preemption/ )
231
+ * [ Pod 抢占] ( /zh-cn /docs/concepts/scheduling-eviction /pod-priority-preemption/ )
232
232
由默认调度器处理。启用抢占后,DaemonSet 控制器将在不考虑 Pod 优先级和抢占
233
233
的情况下制定调度决策。
234
234
@@ -279,7 +279,7 @@ the related features.
279
279
-->
280
280
# ## 污点和容忍度 {#taint-and-toleration}
281
281
282
- 尽管 Daemon Pods 遵循[污点和容忍度](/zh/docs/concepts/scheduling-eviction/taint-and-toleration)
282
+ 尽管 Daemon Pods 遵循[污点和容忍度](/zh-cn /docs/concepts/scheduling-eviction/taint-and-toleration)
283
283
规则,根据相关特性,控制器会自动将以下容忍度添加到 DaemonSet Pod:
284
284
285
285
| 容忍度键名 | 效果 | 版本 | 描述 |
@@ -320,7 +320,7 @@ Some possible patterns for communicating with Pods in a DaemonSet are:
320
320
访问到 Pod。客户端能通过某种方法获取节点 IP 列表,并且基于此也可以获取到相应的端口。
321
321
322
322
- **DNS**:创建具有相同 Pod 选择算符的
323
- [无头服务](/zh/docs/concepts/services-networking/service/#headless-services),
323
+ [无头服务](/zh-cn /docs/concepts/services-networking/service/#headless-services),
324
324
通过使用 `endpoints` 资源或从 DNS 中检索到多个 A 记录来发现 DaemonSet。
325
325
326
326
- **Service**:创建具有相同 Pod 选择算符的服务,并使用该服务随机访问到某个节点上的
@@ -357,7 +357,7 @@ You can [perform a rolling update](/docs/tasks/manage-daemon/update-daemon-set/)
357
357
新的 DaemonSet 会收养已有的 Pod。
358
358
如果有 Pod 需要被替换,DaemonSet 会根据其 `updateStrategy` 来替换。
359
359
360
- 你可以对 DaemonSet [执行滚动更新](/zh/docs/tasks/manage-daemon/update-daemon-set/)操作。
360
+ 你可以对 DaemonSet [执行滚动更新](/zh-cn /docs/tasks/manage-daemon/update-daemon-set/)操作。
361
361
362
362
<!--
363
363
# # Alternatives to DaemonSet
@@ -417,7 +417,7 @@ in cluster bootstrapping cases. Also, static Pods may be deprecated in the futu
417
417
# ## 静态 Pod {#static-pods}
418
418
419
419
通过在一个指定的、受 `kubelet` 监视的目录下编写文件来创建 Pod 也是可行的。
420
- 这类 Pod 被称为[静态 Pod](/zh/docs/tasks/configure-pod-container/static-pod/)。
420
+ 这类 Pod 被称为[静态 Pod](/zh-cn /docs/tasks/configure-pod-container/static-pod/)。
421
421
不像 DaemonSet,静态 Pod 不受 `kubectl` 和其它 Kubernetes API 客户端管理。
422
422
静态 Pod 不依赖于 API 服务器,这使得它们在启动引导新集群的情况下非常有用。
423
423
此外,静态 Pod 在将来可能会被废弃。
@@ -438,15 +438,15 @@ For example, [network plugins](/docs/concepts/extend-kubernetes/compute-storage-
438
438
-->
439
439
# ## Deployments
440
440
441
- DaemonSet 与 [Deployments](/zh/docs/concepts/workloads/controllers/deployment/) 非常类似,
441
+ DaemonSet 与 [Deployments](/zh-cn /docs/concepts/workloads/controllers/deployment/) 非常类似,
442
442
它们都能创建 Pod,并且 Pod 中的进程都不希望被终止(例如,Web 服务器、存储服务器)。
443
443
444
444
建议为无状态的服务使用 Deployments,比如前端服务。
445
445
对这些服务而言,对副本的数量进行扩缩容、平滑升级,比精确控制 Pod 运行在某个主机上要重要得多。
446
446
当需要 Pod 副本总是运行在全部或特定主机上,并且当该 DaemonSet 提供了节点级别的功能(允许其他 Pod 在该特定节点上正确运行)时,
447
447
应该使用 DaemonSet。
448
448
449
- 例如,[网络插件](/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)通常包含一个以 DaemonSet 运行的组件。
449
+ 例如,[网络插件](/zh-cn /docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)通常包含一个以 DaemonSet 运行的组件。
450
450
这个 DaemonSet 组件确保它所在的节点的集群网络正常工作。
451
451
452
452
# # {{% heading "whatsnext" %}}
@@ -465,14 +465,14 @@ DaemonSet 与 [Deployments](/zh/docs/concepts/workloads/controllers/deployment/)
465
465
Read the {{< api-reference page="workload-resources/daemon-set-v1" >}}
466
466
object definition to understand the API for daemon sets.
467
467
-->
468
- * 了解 [Pods](/zh/docs/concepts/workloads/pods)。
468
+ * 了解 [Pods](/zh-cn /docs/concepts/workloads/pods)。
469
469
* 了解[静态 Pod](#static-pods),这对运行 Kubernetes {{< glossary_tooltip text="控制面" term_id="control-plane" >}}组件有帮助。
470
470
* 了解如何使用 DaemonSet
471
- * [对 DaemonSet 执行滚动更新](/zh/docs/tasks/manage-daemon/update-daemon-set/)
472
- * [对 DaemonSet 执行回滚](/zh/docs/tasks/manage-daemon/rollback-daemon-set/)(例如:新的版本没有达到你的预期)
473
- * 理解[Kubernetes 如何将 Pod 分配给节点](/zh/docs/concepts/scheduling-eviction/assign-pod-node/)。
474
- * 了解[设备插件](/zh/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)和
475
- [扩展(Addons)](/zh/docs/concepts/cluster-administration/addons/),它们常以 DaemonSet 运行。
471
+ * [对 DaemonSet 执行滚动更新](/zh-cn /docs/tasks/manage-daemon/update-daemon-set/)
472
+ * [对 DaemonSet 执行回滚](/zh-cn /docs/tasks/manage-daemon/rollback-daemon-set/)(例如:新的版本没有达到你的预期)
473
+ * 理解[Kubernetes 如何将 Pod 分配给节点](/zh-cn /docs/concepts/scheduling-eviction/assign-pod-node/)。
474
+ * 了解[设备插件](/zh-cn /docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)和
475
+ [扩展(Addons)](/zh-cn /docs/concepts/cluster-administration/addons/),它们常以 DaemonSet 运行。
476
476
* `DaemonSet` 是 Kubernetes REST API 中的顶级资源。阅读 {{< api-reference page="workload-resources/daemon-set-v1" >}}
477
477
对象定义理解关于该资源的 API。
478
478
0 commit comments