Change:
“ DaemonSet spec.template.“ “”“”
Mind propose a fix?
/triage accepted
/language zh (I presume)
The label(s) cannot be applied, because the repository doesn't have them <detailsIn response to : /language zh (I presume) Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
yes,this is chinese languge,“”change to“”
/assign

Discussion:
<!-- Create a DaemonSet based on the YAML file: --> <del> 基于 YAML 文件创建 DaemonSet: </del> <ins> 基于 YAML 文件创建 DaemonSet： </ins> ``` kubectl apply -f https://k8s.io/examples/controllers/daemonset.yaml

--> ### 仅在某些节点上运行 Pod <del> 如果指定了 `.spec.template.spec.nodeSelector`，DaemonSet Controller 将在能够与 [Node Selector](/zh/docs/concepts/scheduling-eviction/assign-pod-node/) 匹配的节点上创建 Pod。类似这种情况，可以指定 `.spec.template.spec.affinity`，然后 DaemonSet Controller 将在能够与 [node Affinity](/zh/docs/concepts/scheduling-eviction/assign-pod-node/) 匹配的节点上创建 Pod。 </del> <ins> 如果指定了 `.spec.template.spec.nodeSelector`，DaemonSet 控制器将在能够与 [Node 选择算符](/zh/docs/concepts/scheduling-eviction/assign-pod-node/) 匹配的节点上创建 Pod。 类似这种情况，可以指定 `.spec.template.spec.affinity`，之后 DaemonSet 控制器 将在能够与[节点亲和性](/zh/docs/concepts/scheduling-eviction/assign-pod-node/) 匹配的节点上创建 Pod。 </ins> 如果根本就没有指定，则 DaemonSet Controller 将在所有节点上创建 Pod。 <!--

### Scheduled by default scheduler --> <del> ## 如何调度 Daemon Pods </del> <ins> ## Daemon Pods 是如何被调度的 </ins> ### 通过默认调度器调度

--> DaemonSet 确保所有符合条件的节点都运行该 Pod 的一个副本。 通常，运行 Pod 的节点由 Kubernetes 调度器选择。 <del> 不过，DaemonSet pods 由 DaemonSet 控制器创建和调度。这就带来了以下问题： </del> <ins> 不过，DaemonSet Pods 由 DaemonSet 控制器创建和调度。这就带来了以下问题： </ins> * Pod 行为的不一致性：正常 Pod 在被创建后等待调度时处于 `Pending` 状态， DaemonSet Pods 创建后不会处于 `Pending` 状态下。这使用户感到困惑。

默认调度器接下来将 Pod 绑定到目标主机。 如果 DaemonSet Pod 的节点亲和性配置已存在，则被替换。 DaemonSet 控制器仅在创建或修改 DaemonSet Pod 时执行这些操作， <del> 并且不回更改 DaemonSet 的 `spec.template`。 </del> <ins> 并且不会更改 DaemonSet 的 `spec.template`。 </ins> ```yaml nodeAffinity:

尽管 Daemon Pods 遵循[污点和容忍度](/zh/docs/concepts/scheduling-eviction/taint-and-toleration) 规则，根据相关特性，控制器会自动将以下容忍度添加到 DaemonSet Pod： <del> | 容忍度键名                               | 效果       | 版本   | 描述                                                          | </del> <ins> | 容忍度键名                               | 效果       | 版本    | 描述                                                         | </ins> | ---------------------------------------- | ---------- | ------- | ------------------------------------------------------------ | | `node.kubernetes.io/not-ready`           | NoExecute  | 1.13+   | 当出现类似网络断开的情况导致节点问题时，DaemonSet Pod 不会被逐出。 | <del> | `node.kubernetes.io/unreachable`         | NoExecute  | 1.13+    | 当出现类似于网络断开的情况导致节点问题时，DaemonSet Pod 不会被逐出。 | </del> <ins> | `node.kubernetes.io/unreachable`         | NoExecute  | 1.13+   | 当出现类似于网络断开的情况导致节点问题时，DaemonSet Pod 不会被逐出。 | </ins> | `node.kubernetes.io/disk-pressure`       | NoSchedule | 1.8+    | | | `node.kubernetes.io/memory-pressure`     | NoSchedule | 1.8+    | | | `node.kubernetes.io/unschedulable`       | NoSchedule | 1.12+   | DaemonSet Pod 能够容忍默认调度器所设置的 `unschedulable` 属性.  |

与 DaemonSet 中的 Pod 进行通信的几种可能模式如下： <del> - **Push**：配置 DaemonSet 中的 Pod，将更新发送到另一个服务，例如统计数据库。 </del> <ins> - **推送（Push）**：配置 DaemonSet 中的 Pod，将更新发送到另一个服务，例如统计数据库。 </ins> 这些服务没有客户端。 - **NodeIP 和已知端口**：DaemonSet 中的 Pod 可以使用 `hostPort`，从而可以通过节点 IP