[zh]Update concepts pages(part-3) for links with '/zh/' prefix, using new prefix '/zh-cn/'
This commit is contained in:
@@ -35,18 +35,18 @@ of terminating one or more Pods on Nodes.
|
||||
|
||||
## 调度
|
||||
|
||||
* [Kubernetes 调度器](/zh/docs/concepts/scheduling-eviction/kube-scheduler/)
|
||||
* [将 Pods 指派到节点](/zh/docs/concepts/scheduling-eviction/assign-pod-node/)
|
||||
* [Pod 开销](/zh/docs/concepts/scheduling-eviction/pod-overhead/)
|
||||
* [污点和容忍](/zh/docs/concepts/scheduling-eviction/taint-and-toleration/)
|
||||
* [调度框架](/zh/docs/concepts/scheduling-eviction/scheduling-framework)
|
||||
* [调度器的性能调试](/zh/docs/concepts/scheduling-eviction/scheduler-perf-tuning/)
|
||||
* [扩展资源的资源装箱](/zh/docs/concepts/scheduling-eviction/resource-bin-packing/)
|
||||
* [Kubernetes 调度器](/zh-cn/docs/concepts/scheduling-eviction/kube-scheduler/)
|
||||
* [将 Pods 指派到节点](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/)
|
||||
* [Pod 开销](/zh-cn/docs/concepts/scheduling-eviction/pod-overhead/)
|
||||
* [污点和容忍](/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/)
|
||||
* [调度框架](/zh-cn/docs/concepts/scheduling-eviction/scheduling-framework)
|
||||
* [调度器的性能调试](/zh-cn/docs/concepts/scheduling-eviction/scheduler-perf-tuning/)
|
||||
* [扩展资源的资源装箱](/zh-cn/docs/concepts/scheduling-eviction/resource-bin-packing/)
|
||||
|
||||
<!-- ## Pod Disruption -->
|
||||
|
||||
## Pod 干扰
|
||||
|
||||
* [Pod 优先级和抢占](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* [节点压力驱逐](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* [API发起的驱逐](/zh/docs/concepts/scheduling-eviction/api-eviction/)
|
||||
* [Pod 优先级和抢占](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* [节点压力驱逐](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* [API发起的驱逐](/zh-cn/docs/concepts/scheduling-eviction/api-eviction/)
|
||||
|
||||
@@ -30,12 +30,12 @@ on the Pod.
|
||||
此操作创建一个 `Eviction` 对象,该对象再驱动 API 服务器终止选定的 Pod。
|
||||
|
||||
API 发起的驱逐将遵从你的
|
||||
[`PodDisruptionBudgets`](/zh/docs/tasks/run-application/configure-pdb/)
|
||||
和 [`terminationGracePeriodSeconds`](/zh/docs/concepts/workloads/pods/pod-lifecycle#pod-termination)
|
||||
[`PodDisruptionBudgets`](/zh-cn/docs/tasks/run-application/configure-pdb/)
|
||||
和 [`terminationGracePeriodSeconds`](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle#pod-termination)
|
||||
配置。
|
||||
|
||||
使用 API 创建 Eviction 对象,就像对 Pod 执行策略控制的
|
||||
[`DELETE` 操作](/zh/docs/reference/kubernetes-api/workload-resources/pod-v1/#delete-delete-a-pod)
|
||||
[`DELETE` 操作](/zh-cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#delete-delete-a-pod)
|
||||
|
||||
<!--
|
||||
## Calling the Eviction API
|
||||
@@ -46,7 +46,7 @@ POST the attempted operation, similar to the following example:
|
||||
-->
|
||||
## 调用 Eviction API
|
||||
|
||||
你可以使用 [Kubernetes 语言客户端](/zh/docs/tasks/administer-cluster/access-cluster-api/#programmatic-access-to-the-api)
|
||||
你可以使用 [Kubernetes 语言客户端](/zh-cn/docs/tasks/administer-cluster/access-cluster-api/#programmatic-access-to-the-api)
|
||||
来访问 Kubernetes API 并创建 `Eviction` 对象。
|
||||
要执行此操作,你应该用 POST 发出要尝试的请求,类似于下面的示例:
|
||||
|
||||
@@ -201,6 +201,6 @@ If you notice stuck evictions, try one of the following solutions:
|
||||
* Learn about [Node-pressure Eviction](/docs/concepts/scheduling-eviction/node-pressure-eviction/).
|
||||
* Learn about [Pod Priority and Preemption](/docs/concepts/scheduling-eviction/pod-priority-preemption/).
|
||||
-->
|
||||
* 了解如何使用 [Pod 干扰预算](/zh/docs/tasks/run-application/configure-pdb/) 保护你的应用。
|
||||
* 了解[节点压力引发的驱逐](/zh/docs/concepts/scheduling-eviction/node-pressure-eviction/)。
|
||||
* 了解 [Pod 优先级和抢占](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/)。
|
||||
* 了解如何使用 [Pod 干扰预算](/zh-cn/docs/tasks/run-application/configure-pdb/) 保护你的应用。
|
||||
* 了解[节点压力引发的驱逐](/zh-cn/docs/concepts/scheduling-eviction/node-pressure-eviction/)。
|
||||
* 了解 [Pod 优先级和抢占](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/)。
|
||||
|
||||
@@ -30,7 +30,7 @@ services that communicate a lot into the same availability zone.
|
||||
你可以约束一个 {{< glossary_tooltip text="Pod" term_id="pod" >}}
|
||||
只能在特定的{{< glossary_tooltip text="节点" term_id="node" >}}上运行。
|
||||
有几种方法可以实现这点,推荐的方法都是用
|
||||
[标签选择算符](/zh/docs/concepts/overview/working-with-objects/labels/)来进行选择。
|
||||
[标签选择算符](/zh-cn/docs/concepts/overview/working-with-objects/labels/)来进行选择。
|
||||
通常这样的约束不是必须的,因为调度器将自动进行合理的放置(比如,将 Pod 分散到节点上,
|
||||
而不是将 Pod 放置在可用资源不足的节点上等等)。但在某些情况下,你可能需要进一步控制
|
||||
Pod 被部署到的节点。例如,确保 Pod 最终落在连接了 SSD 的机器上,
|
||||
@@ -62,10 +62,10 @@ for a list of common node labels.
|
||||
-->
|
||||
## 节点标签 {#built-in-node-labels}
|
||||
|
||||
与很多其他 Kubernetes 对象类似,节点也有[标签](/zh/docs/concepts/overview/working-with-objects/labels/)。
|
||||
你可以[手动地添加标签](/zh/docs/tasks/configure-pod-container/assign-pods-nodes/#add-a-label-to-a-node)。
|
||||
与很多其他 Kubernetes 对象类似,节点也有[标签](/zh-cn/docs/concepts/overview/working-with-objects/labels/)。
|
||||
你可以[手动地添加标签](/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes/#add-a-label-to-a-node)。
|
||||
Kubernetes 也会为集群中所有节点添加一些标准的标签。
|
||||
参见[常用的标签、注解和污点](/zh/docs/reference/labels-annotations-taints/)以了解常见的节点标签。
|
||||
参见[常用的标签、注解和污点](/zh-cn/docs/reference/labels-annotations-taints/)以了解常见的节点标签。
|
||||
|
||||
{{< note >}}
|
||||
<!--
|
||||
@@ -108,7 +108,7 @@ prevents the kubelet from setting or modifying labels with a
|
||||
|
||||
To make use of that label prefix for node isolation:
|
||||
-->
|
||||
[`NodeRestriction` 准入插件](/zh/docs/reference/access-authn-authz/admission-controllers/#noderestriction)防止
|
||||
[`NodeRestriction` 准入插件](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#noderestriction)防止
|
||||
kubelet 使用 `node-restriction.kubernetes.io/` 前缀设置或修改标签。
|
||||
|
||||
要使用该标签前缀进行节点隔离:
|
||||
@@ -118,8 +118,8 @@ kubelet 使用 `node-restriction.kubernetes.io/` 前缀设置或修改标签。
|
||||
2. Add labels with the `node-restriction.kubernetes.io/` prefix to your nodes, and use those labels in your [node selectors](#nodeselector).
|
||||
For example, `example.com.node-restriction.kubernetes.io/fips=true` or `example.com.node-restriction.kubernetes.io/pci-dss=true`.
|
||||
-->
|
||||
1. 确保你在使用[节点鉴权](/zh/docs/reference/access-authn-authz/node/)机制并且已经启用了
|
||||
[NodeRestriction 准入插件](/zh/docs/reference/access-authn-authz/admission-controllers/#noderestriction)。
|
||||
1. 确保你在使用[节点鉴权](/zh-cn/docs/reference/access-authn-authz/node/)机制并且已经启用了
|
||||
[NodeRestriction 准入插件](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#noderestriction)。
|
||||
2. 将带有 `node-restriction.kubernetes.io/` 前缀的标签添加到 Node 对象,
|
||||
然后在[节点选择器](#nodeSelector)中使用这些标签。
|
||||
例如,`example.com.node-restriction.kubernetes.io/fips=true` 或
|
||||
@@ -142,7 +142,7 @@ Kubernetes 只会将 Pod 调度到拥有你所指定的每个标签的节点上
|
||||
See [Assign Pods to Nodes](/docs/tasks/configure-pod-container/assign-pods-nodes) for more
|
||||
information.
|
||||
-->
|
||||
进一步的信息可参见[将 Pod 指派给节点](/zh/docs/tasks/configure-pod-container/assign-pods-nodes)。
|
||||
进一步的信息可参见[将 Pod 指派给节点](/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes)。
|
||||
|
||||
<!--
|
||||
## Affinity and anti-affinity
|
||||
@@ -247,7 +247,7 @@ Alternatively, you can use [node taints](/docs/concepts/scheduling-eviction/tain
|
||||
to repel Pods from specific nodes.
|
||||
-->
|
||||
`NotIn` 和 `DoesNotExist` 可用来实现节点反亲和性行为。
|
||||
你也可以使用[节点污点](/zh/docs/concepts/scheduling-eviction/taint-and-toleration/)
|
||||
你也可以使用[节点污点](/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/)
|
||||
将 Pod 从特定节点上驱逐。
|
||||
|
||||
{{< note >}}
|
||||
@@ -279,7 +279,7 @@ satisfied.
|
||||
See [Assign Pods to Nodes using Node Affinity](/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/)
|
||||
for more information.
|
||||
-->
|
||||
参阅[使用节点亲和性来为 Pod 指派节点](/zh/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/),
|
||||
参阅[使用节点亲和性来为 Pod 指派节点](/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/),
|
||||
以了解进一步的信息。
|
||||
|
||||
<!--
|
||||
@@ -345,11 +345,11 @@ a profile with a Node affinity, which is useful if a profile only applies to a s
|
||||
To do so, add an `addedAffinity` to the `args` field of the [`NodeAffinity` plugin](/docs/reference/scheduling/config/#scheduling-plugins)
|
||||
in the [scheduler configuration](/docs/reference/scheduling/config/). For example:
|
||||
-->
|
||||
在配置多个[调度方案](/zh/docs/reference/scheduling/config/#multiple-profiles)时,
|
||||
在配置多个[调度方案](/zh-cn/docs/reference/scheduling/config/#multiple-profiles)时,
|
||||
你可以将某个方案与节点亲和性关联起来,如果某个调度方案仅适用于某组特殊的节点时,
|
||||
这样做是很有用的。
|
||||
要实现这点,可以在[调度器配置](/zh/docs/reference/scheduling/config/)中为
|
||||
[`NodeAffinity` 插件](/zh/docs/reference/scheduling/config/#scheduling-plugins)的
|
||||
要实现这点,可以在[调度器配置](/zh-cn/docs/reference/scheduling/config/)中为
|
||||
[`NodeAffinity` 插件](/zh-cn/docs/reference/scheduling/config/#scheduling-plugins)的
|
||||
`args` 字段添加 `addedAffinity`。例如:
|
||||
|
||||
```yaml
|
||||
@@ -397,7 +397,7 @@ does not support scheduling profiles. When the DaemonSet controller creates
|
||||
Pods, the default Kubernetes scheduler places those Pods and honors any
|
||||
`nodeAffinity` rules in the DaemonSet controller.
|
||||
-->
|
||||
DaemonSet 控制器[为 DaemonSet 创建 Pods](/zh/docs/concepts/workloads/controllers/daemonset/#scheduled-by-default-scheduler),
|
||||
DaemonSet 控制器[为 DaemonSet 创建 Pods](/zh-cn/docs/concepts/workloads/controllers/daemonset/#scheduled-by-default-scheduler),
|
||||
但该控制器不理会调度方案。
|
||||
DaemonSet 控制器创建 Pod 时,默认的 Kubernetes 调度器负责放置 Pod,
|
||||
并遵从 DaemonSet 控制器中奢侈的 `nodeAffinity` 规则。
|
||||
@@ -434,7 +434,7 @@ Kubernetes, so Pod labels also implicitly have namespaces. Any label selectors
|
||||
for Pod labels should specify the namespaces in which Kubernetes should look for those
|
||||
labels.
|
||||
-->
|
||||
你通过[标签选择算符](/zh/docs/concepts/overview/working-with-objects/labels/#label-selectors)
|
||||
你通过[标签选择算符](/zh-cn/docs/concepts/overview/working-with-objects/labels/#label-selectors)
|
||||
的形式来表达规则(Y),并可根据需要指定选关联的名字空间列表。
|
||||
Pod 在 Kubernetes 中是名字空间作用域的对象,因此 Pod 的标签也隐式地具有名字空间属性。
|
||||
针对 Pod 标签的所有标签选择算符都要指定名字空间,Kubernetes
|
||||
@@ -446,7 +446,7 @@ the node label that the system uses to denote the domain. For examples, see
|
||||
[Well-Known Labels, Annotations and Taints](/docs/reference/labels-annotations-taints/).
|
||||
-->
|
||||
你会通过 `topologyKey` 来表达拓扑域(X)的概念,其取值是系统用来标示域的节点标签键。
|
||||
相关示例可参见[常用标签、注解和污点](/zh/docs/reference/labels-annotations-taints/)。
|
||||
相关示例可参见[常用标签、注解和污点](/zh-cn/docs/reference/labels-annotations-taints/)。
|
||||
|
||||
{{< note >}}
|
||||
<!--
|
||||
@@ -740,7 +740,7 @@ See the [ZooKeeper tutorial](/docs/tutorials/stateful-application/zookeeper/#tol
|
||||
for an example of a StatefulSet configured with anti-affinity for high
|
||||
availability, using the same technique as this example.
|
||||
-->
|
||||
参阅 [ZooKeeper 教程](/zh/docs/tutorials/stateful-application/zookeeper/#tolerating-node-failure)
|
||||
参阅 [ZooKeeper 教程](/zh-cn/docs/tutorials/stateful-application/zookeeper/#tolerating-node-failure)
|
||||
了解一个 StatefulSet 的示例,该 StatefulSet 配置了反亲和性以实现高可用,
|
||||
所使用的是与此例相同的技术。
|
||||
|
||||
@@ -810,11 +810,11 @@ The above Pod will only run on the node `kube-01`.
|
||||
* Learn how to use [nodeSelector](/docs/tasks/configure-pod-container/assign-pods-nodes/).
|
||||
* Learn how to use [affinity and anti-affinity](/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/).
|
||||
-->
|
||||
* 进一步阅读[污点与容忍度](/zh/docs/concepts/scheduling-eviction/taint-and-toleration/)文档。
|
||||
* 进一步阅读[污点与容忍度](/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/)文档。
|
||||
* 阅读[节点亲和性](https://git.k8s.io/community/contributors/design-proposals/scheduling/nodeaffinity.md)
|
||||
和[Pod 间亲和性与反亲和性](https://git.k8s.io/community/contributors/design-proposals/scheduling/podaffinity.md)
|
||||
的设计文档。
|
||||
* 了解[拓扑管理器](/zh/docs/tasks/administer-cluster/topology-manager/)如何参与节点层面资源分配决定。
|
||||
* 了解如何使用 [nodeSelector](/zh/docs/tasks/configure-pod-container/assign-pods-nodes/)。
|
||||
* 了解如何使用[亲和性和反亲和性](/zh/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/)。
|
||||
* 了解[拓扑管理器](/zh-cn/docs/tasks/administer-cluster/topology-manager/)如何参与节点层面资源分配决定。
|
||||
* 了解如何使用 [nodeSelector](/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes/)。
|
||||
* 了解如何使用[亲和性和反亲和性](/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/)。
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ is the default scheduler for Kubernetes and runs as part of the
|
||||
kube-scheduler is designed so that, if you want and need to, you can
|
||||
write your own scheduling component and use that instead.
|
||||
-->
|
||||
[kube-scheduler](/zh/docs/reference/command-line-tools-reference/kube-scheduler/)
|
||||
[kube-scheduler](/zh-cn/docs/reference/command-line-tools-reference/kube-scheduler/)
|
||||
是 Kubernetes 集群的默认调度器,并且是集群
|
||||
{{< glossary_tooltip text="控制面" term_id="control-plane" >}} 的一部分。
|
||||
如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许
|
||||
@@ -162,9 +162,9 @@ of the scheduler:
|
||||
`QueueSort`, `Filter`, `Score`, `Bind`, `Reserve`, `Permit`, and others. You
|
||||
can also configure the kube-scheduler to run different profiles.
|
||||
-->
|
||||
1. [调度策略](/zh/docs/reference/scheduling/policies) 允许你配置过滤的 _断言(Predicates)_
|
||||
1. [调度策略](/zh-cn/docs/reference/scheduling/policies) 允许你配置过滤的 _断言(Predicates)_
|
||||
和打分的 _优先级(Priorities)_ 。
|
||||
2. [调度配置](/zh/docs/reference/scheduling/config/#profiles) 允许你配置实现不同调度阶段的插件,
|
||||
2. [调度配置](/zh-cn/docs/reference/scheduling/config/#profiles) 允许你配置实现不同调度阶段的插件,
|
||||
包括:`QueueSort`, `Filter`, `Score`, `Bind`, `Reserve`, `Permit` 等等。
|
||||
你也可以配置 kube-scheduler 运行不同的配置文件。
|
||||
|
||||
@@ -178,10 +178,10 @@ of the scheduler:
|
||||
* Learn about [topology management policies](/docs/tasks/administer-cluster/topology-manager/)
|
||||
* Learn about [Pod Overhead](/docs/concepts/scheduling-eviction/pod-overhead/)
|
||||
-->
|
||||
* 阅读关于 [调度器性能调优](/zh/docs/concepts/scheduling-eviction/scheduler-perf-tuning/)
|
||||
* 阅读关于 [Pod 拓扑分布约束](/zh/docs/concepts/workloads/pods/pod-topology-spread-constraints/)
|
||||
* 阅读关于 kube-scheduler 的 [参考文档](/zh/docs/reference/command-line-tools-reference/kube-scheduler/)
|
||||
* 阅读 [kube-scheduler 配置参考 (v1beta3)](/zh/docs/reference/config-api/kube-scheduler-config.v1beta3/)
|
||||
* 了解关于 [配置多个调度器](/zh/docs/tasks/extend-kubernetes/configure-multiple-schedulers/) 的方式
|
||||
* 了解关于 [拓扑结构管理策略](/zh/docs/tasks/administer-cluster/topology-manager/)
|
||||
* 了解关于 [Pod 额外开销](/zh/docs/concepts/scheduling-eviction/pod-overhead/)
|
||||
* 阅读关于 [调度器性能调优](/zh-cn/docs/concepts/scheduling-eviction/scheduler-perf-tuning/)
|
||||
* 阅读关于 [Pod 拓扑分布约束](/zh-cn/docs/concepts/workloads/pods/pod-topology-spread-constraints/)
|
||||
* 阅读关于 kube-scheduler 的 [参考文档](/zh-cn/docs/reference/command-line-tools-reference/kube-scheduler/)
|
||||
* 阅读 [kube-scheduler 配置参考 (v1beta3)](/zh-cn/docs/reference/config-api/kube-scheduler-config.v1beta3/)
|
||||
* 了解关于 [配置多个调度器](/zh-cn/docs/tasks/extend-kubernetes/configure-multiple-schedulers/) 的方式
|
||||
* 了解关于 [拓扑结构管理策略](/zh-cn/docs/tasks/administer-cluster/topology-manager/)
|
||||
* 了解关于 [Pod 额外开销](/zh-cn/docs/concepts/scheduling-eviction/pod-overhead/)
|
||||
|
||||
@@ -128,9 +128,9 @@ memory is reclaimable under pressure.
|
||||
-->
|
||||
`memory.available` 的值来自 cgroupfs,而不是像 `free -m` 这样的工具。
|
||||
这很重要,因为 `free -m` 在容器中不起作用,如果用户使用
|
||||
[节点可分配资源](/zh/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable)
|
||||
[节点可分配资源](/zh-cn/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable)
|
||||
这一功能特性,资源不足的判定是基于 CGroup 层次结构中的用户 Pod 所处的局部及 CGroup 根节点作出的。
|
||||
这个[脚本](/zh/examples/admin/resource/memory-available.sh)
|
||||
这个[脚本](/zh-cn/examples/admin/resource/memory-available.sh)
|
||||
重现了 kubelet 为计算 `memory.available` 而执行的相同步骤。
|
||||
kubelet 在其计算中排除了 inactive_file(即非活动 LRU 列表上基于文件来虚拟的内存的字节数),
|
||||
因为它假定在压力下内存是可回收的。
|
||||
@@ -161,7 +161,7 @@ For a list of the deprecated features, see [kubelet garbage collection deprecati
|
||||
-->
|
||||
一些 kubelet 垃圾收集功能已被弃用,以支持驱逐。
|
||||
有关已弃用功能的列表,请参阅
|
||||
[kubelet 垃圾收集弃用](/zh/docs/concepts/cluster-administration/kubelet-garbage-collection/#deprecation)。
|
||||
[kubelet 垃圾收集弃用](/zh-cn/docs/concepts/cluster-administration/kubelet-garbage-collection/#deprecation)。
|
||||
{{</note>}}
|
||||
|
||||
<!--
|
||||
@@ -414,7 +414,7 @@ The kubelet uses the following parameters to determine pod eviction order:
|
||||
kubelet 使用以下参数来确定 Pod 驱逐顺序:
|
||||
|
||||
1. Pod 的资源使用是否超过其请求
|
||||
1. [Pod 优先级](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
1. [Pod 优先级](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
1. Pod 相对于请求的资源使用情况
|
||||
|
||||
<!--
|
||||
@@ -524,7 +524,7 @@ reclaims the quantity you specify.
|
||||
For example, the following configuration sets minimum reclaim amounts:
|
||||
-->
|
||||
你可以使用 `--eviction-minimum-reclaim` 标志或
|
||||
[kubelet 配置文件](/zh/docs/tasks/administer-cluster/kubelet-config-file/)
|
||||
[kubelet 配置文件](/zh-cn/docs/tasks/administer-cluster/kubelet-config-file/)
|
||||
为每个资源配置最小回收量。
|
||||
当 kubelet 注意到某个资源耗尽时,它会继续回收该资源,直到回收到你所指定的数量为止。
|
||||
|
||||
@@ -772,7 +772,7 @@ to estimate or measure an optimal memory limit value for that container.
|
||||
* Check out the [Eviction API](/docs/reference/generated/kubernetes-api/{{<param "version">}}/#create-eviction-pod-v1-core)
|
||||
-->
|
||||
* 了解 [API 发起的驱逐](/docs/reference/generated/kubernetes-api/v1.23/)
|
||||
* 了解 [Pod 优先级和驱逐](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* 了解 [Pod 优先级和驱逐](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* 了解 [PodDisruptionBudgets](/docs/tasks/run-application/configure-pdb/)
|
||||
* 了解[服务质量](/zh/docs/tasks/configure-pod-container/quality-service-pod/)(QoS)
|
||||
* 了解[服务质量](/zh-cn/docs/tasks/configure-pod-container/quality-service-pod/)(QoS)
|
||||
* 查看[驱逐 API](/docs/reference/generated/kubernetes-api/{{<param "version">}}/#create-eviction-pod-v1-core)
|
||||
|
||||
@@ -40,8 +40,8 @@ time according to the overhead associated with the Pod's
|
||||
[RuntimeClass](/docs/concepts/containers/runtime-class/).
|
||||
-->
|
||||
|
||||
在 Kubernetes 中,Pod 的开销是根据与 Pod 的 [RuntimeClass](/zh/docs/concepts/containers/runtime-class/)
|
||||
相关联的开销在[准入](/zh/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks)时设置的。
|
||||
在 Kubernetes 中,Pod 的开销是根据与 Pod 的 [RuntimeClass](/zh-cn/docs/concepts/containers/runtime-class/)
|
||||
相关联的开销在[准入](/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks)时设置的。
|
||||
|
||||
<!--
|
||||
When Pod Overhead is enabled, the overhead is considered in addition to the sum of container
|
||||
@@ -129,7 +129,7 @@ updates the workload's PodSpec to include the `overhead` as described in the Run
|
||||
the Pod will be rejected. In the given example, since only the RuntimeClass name is specified, the admission controller mutates the Pod
|
||||
to include an `overhead`.
|
||||
-->
|
||||
在准入阶段 RuntimeClass [准入控制器](/zh/docs/reference/access-authn-authz/admission-controllers/)
|
||||
在准入阶段 RuntimeClass [准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/)
|
||||
更新工作负载的 PodSpec 以包含
|
||||
RuntimeClass 中定义的 `overhead`。如果 PodSpec 中已定义该字段,该 Pod 将会被拒绝。
|
||||
在这个例子中,由于只指定了 RuntimeClass 名称,所以准入控制器更新了 Pod,使之包含 `overhead`。
|
||||
@@ -154,7 +154,7 @@ map[cpu:250m memory:120Mi]
|
||||
If a [ResourceQuota](/docs/concepts/policy/resource-quotas/) is defined, the sum of container requests as well as the
|
||||
`overhead` field are counted.
|
||||
-->
|
||||
如果定义了 [ResourceQuata](/zh/docs/concepts/policy/resource-quotas/),
|
||||
如果定义了 [ResourceQuata](/zh-cn/docs/concepts/policy/resource-quotas/),
|
||||
则容器请求的总量以及 `overhead` 字段都将计算在内。
|
||||
|
||||
<!--
|
||||
@@ -332,5 +332,5 @@ running with a defined overhead.
|
||||
* Read the [PodOverhead Design](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/688-pod-overhead)
|
||||
enhancement proposal for extra context
|
||||
-->
|
||||
* 学习更多关于 [RuntimeClass](/zh/docs/concepts/containers/runtime-class/) 的信息
|
||||
* 学习更多关于 [RuntimeClass](/zh-cn/docs/concepts/containers/runtime-class/) 的信息
|
||||
* 阅读 [PodOverhead 设计](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/688-pod-overhead)增强建议以获取更多上下文
|
||||
|
||||
@@ -23,7 +23,7 @@ importance of a Pod relative to other Pods. If a Pod cannot be scheduled, the
|
||||
scheduler tries to preempt (evict) lower priority Pods to make scheduling of the
|
||||
pending Pod possible.
|
||||
-->
|
||||
[Pod](/zh/docs/concepts/workloads/pods/) 可以有 _优先级_。
|
||||
[Pod](/zh-cn/docs/concepts/workloads/pods/) 可以有 _优先级_。
|
||||
优先级表示一个 Pod 相对于其他 Pod 的重要性。
|
||||
如果一个 Pod 无法被调度,调度程序会尝试抢占(驱逐)较低优先级的 Pod,
|
||||
以使悬决 Pod 可以被调度。
|
||||
@@ -44,7 +44,7 @@ for details.
|
||||
在一个并非所有用户都是可信的集群中,恶意用户可能以最高优先级创建 Pod,
|
||||
导致其他 Pod 被驱逐或者无法被调度。
|
||||
管理员可以使用 ResourceQuota 来阻止用户创建高优先级的 Pod。
|
||||
参见[默认限制优先级消费](/zh/docs/concepts/policy/resource-quotas/#limit-priority-class-consumption-by-default)。
|
||||
参见[默认限制优先级消费](/zh-cn/docs/concepts/policy/resource-quotas/#limit-priority-class-consumption-by-default)。
|
||||
|
||||
{{< /warning >}}
|
||||
|
||||
@@ -82,7 +82,7 @@ These are common classes and are used to [ensure that critical components are al
|
||||
-->
|
||||
Kubernetes 已经提供了 2 个 PriorityClass:
|
||||
`system-cluster-critical` 和 `system-node-critical`。
|
||||
这些是常见的类,用于[确保始终优先调度关键组件](/zh/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/)。
|
||||
这些是常见的类,用于[确保始终优先调度关键组件](/zh-cn/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/)。
|
||||
{{< /note >}}
|
||||
|
||||
<!--
|
||||
@@ -103,7 +103,7 @@ PriorityClass 是一个无名称空间对象,它定义了从优先级类名称
|
||||
名称在 PriorityClass 对象元数据的 `name` 字段中指定。
|
||||
值在必填的 `value` 字段中指定。值越大,优先级越高。
|
||||
PriorityClass 对象的名称必须是有效的
|
||||
[DNS 子域名](/zh/docs/concepts/overview/working-with-objects/names#dns-subdomain-names),
|
||||
[DNS 子域名](/zh-cn/docs/concepts/overview/working-with-objects/names#dns-subdomain-names),
|
||||
并且它不能以 `system-` 为前缀。
|
||||
|
||||
<!--
|
||||
@@ -377,7 +377,7 @@ priority Pods to zero or a small number.
|
||||
#### 被抢占牺牲者的体面终止
|
||||
|
||||
当 Pod 被抢占时,牺牲者会得到他们的
|
||||
[体面终止期](/zh/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination)。
|
||||
[体面终止期](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination)。
|
||||
它们可以在体面终止期内完成工作并退出。如果它们不这样做就会被杀死。
|
||||
这个体面终止期在调度程序抢占 Pod 的时间点和待处理的 Pod (P)
|
||||
可以在节点 (N) 上调度的时间点之间划分出了一个时间跨度。
|
||||
@@ -399,7 +399,7 @@ despite their PDBs being violated.
|
||||
-->
|
||||
#### 支持 PodDisruptionBudget,但不保证
|
||||
|
||||
[PodDisruptionBudget](/zh/docs/concepts/workloads/pods/disruptions/)
|
||||
[PodDisruptionBudget](/zh-cn/docs/concepts/workloads/pods/disruptions/)
|
||||
(PDB) 允许多副本应用程序的所有者限制因自愿性质的干扰而同时终止的 Pod 数量。
|
||||
Kubernetes 在抢占 Pod 时支持 PDB,但对 PDB 的支持是基于尽力而为原则的。
|
||||
调度器会尝试寻找不会因被抢占而违反 PDB 的牺牲者,但如果没有找到这样的牺牲者,
|
||||
@@ -639,7 +639,7 @@ exceeding its requests, it won't be evicted. Another Pod with higher priority
|
||||
that exceeds its requests may be evicted.
|
||||
-->
|
||||
kubelet 使用优先级来确定
|
||||
[节点压力驱逐](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/) Pod 的顺序。
|
||||
[节点压力驱逐](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/) Pod 的顺序。
|
||||
你可以使用 QoS 类来估计 Pod 最有可能被驱逐的顺序。kubelet 根据以下因素对 Pod 进行驱逐排名:
|
||||
|
||||
1. 对紧俏资源的使用是否超过请求值
|
||||
@@ -647,7 +647,7 @@ kubelet 使用优先级来确定
|
||||
1. 相对于请求的资源使用量
|
||||
|
||||
有关更多详细信息,请参阅
|
||||
[kubelet 驱逐时 Pod 的选择](/zh/docs/concepts/scheduling-eviction/node-pressure-eviction/#pod-selection-for-kubelet-eviction)。
|
||||
[kubelet 驱逐时 Pod 的选择](/zh-cn/docs/concepts/scheduling-eviction/node-pressure-eviction/#pod-selection-for-kubelet-eviction)。
|
||||
|
||||
当某 Pod 的资源用量未超过其请求时,kubelet 节点压力驱逐不会驱逐该 Pod。
|
||||
如果优先级较低的 Pod 没有超过其请求,则不会被驱逐。
|
||||
@@ -663,7 +663,7 @@ kubelet 使用优先级来确定
|
||||
* Learn about [Node-pressure Eviction](/docs/concepts/scheduling-eviction/node-pressure-eviction/)
|
||||
-->
|
||||
* 阅读有关将 ResourceQuota 与 PriorityClass 结合使用的信息:
|
||||
[默认限制优先级消费](/zh/docs/concepts/policy/resource-quotas/#limit-priority-class-consumption-by-default)
|
||||
* 了解 [Pod 干扰](/zh/docs/concepts/workloads/pods/disruptions/)
|
||||
[默认限制优先级消费](/zh-cn/docs/concepts/policy/resource-quotas/#limit-priority-class-consumption-by-default)
|
||||
* 了解 [Pod 干扰](/zh-cn/docs/concepts/workloads/pods/disruptions/)
|
||||
* 了解 [API 发起的驱逐](/docs/reference/generated/kubernetes-api/v1.23/)
|
||||
* 了解[节点压力驱逐](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* 了解[节点压力驱逐](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
|
||||
@@ -23,7 +23,7 @@ is the Kubernetes default scheduler. It is responsible for placement of Pods
|
||||
on Nodes in a cluster.
|
||||
-->
|
||||
作为 kubernetes 集群的默认调度器,
|
||||
[kube-scheduler](/zh/docs/concepts/scheduling-eviction/kube-scheduler/#kube-scheduler)
|
||||
[kube-scheduler](/zh-cn/docs/concepts/scheduling-eviction/kube-scheduler/#kube-scheduler)
|
||||
主要负责将 Pod 调度到集群的 Node 上。
|
||||
|
||||
<!--
|
||||
@@ -85,7 +85,7 @@ To change the value, edit the
|
||||
and then restart the scheduler.
|
||||
In many cases, the configuration file can be found at `/etc/kubernetes/config/kube-scheduler.yaml`
|
||||
-->
|
||||
要修改这个值,先编辑 [kube-scheduler 的配置文件](/zh/docs/reference/config-api/kube-scheduler-config.v1beta3/)
|
||||
要修改这个值,先编辑 [kube-scheduler 的配置文件](/zh-cn/docs/reference/config-api/kube-scheduler-config.v1beta3/)
|
||||
然后重启调度器。
|
||||
大多数情况下,这个配置文件是 `/etc/kubernetes/config/kube-scheduler.yaml`。
|
||||
|
||||
@@ -128,7 +128,7 @@ stops searching for more feasible nodes and moves on to the
|
||||
kube-scheduler 会将它转换为节点数的整数值。在调度期间,如果
|
||||
kube-scheduler 已确认的可调度节点数足以超过了配置的百分比数量,
|
||||
kube-scheduler 将停止继续查找可调度节点并继续进行
|
||||
[打分阶段](/zh/docs/concepts/scheduling-eviction/kube-scheduler/#kube-scheduler-implementation)。
|
||||
[打分阶段](/zh-cn/docs/concepts/scheduling-eviction/kube-scheduler/#kube-scheduler-implementation)。
|
||||
|
||||
<!--
|
||||
[How the scheduler iterates over Nodes](#how-the-scheduler-iterates-over-nodes)
|
||||
@@ -300,4 +300,4 @@ After going over all the Nodes, it goes back to Node 1.
|
||||
|
||||
<!-- * Check the [kube-scheduler configuration reference (v1beta3)](/docs/reference/config-api/kube-scheduler-config.v1beta3/) -->
|
||||
|
||||
* 参见 [kube-scheduler 配置参考 (v1beta3)](/zh/docs/reference/config-api/kube-scheduler-config.v1beta3/)
|
||||
* 参见 [kube-scheduler 配置参考 (v1beta3)](/zh-cn/docs/reference/config-api/kube-scheduler-config.v1beta3/)
|
||||
|
||||
@@ -451,7 +451,7 @@ enabled by default.
|
||||
-->
|
||||
你可以在调度器配置中启用或禁用插件。
|
||||
如果你在使用 Kubernetes v1.18 或更高版本,大部分调度
|
||||
[插件](/zh/docs/reference/scheduling/config/#scheduling-plugins)
|
||||
[插件](/zh-cn/docs/reference/scheduling/config/#scheduling-plugins)
|
||||
都在使用中且默认启用。
|
||||
|
||||
<!--
|
||||
@@ -470,6 +470,6 @@ Learn more at [multiple profiles](/docs/reference/scheduling/config/#multiple-pr
|
||||
-->
|
||||
如果你正在使用 Kubernetes v1.18 或更高版本,你可以将一组插件设置为
|
||||
一个调度器配置文件,然后定义不同的配置文件来满足各类工作负载。
|
||||
了解更多关于[多配置文件](/zh/docs/reference/scheduling/config/#multiple-profiles)。
|
||||
了解更多关于[多配置文件](/zh-cn/docs/reference/scheduling/config/#multiple-profiles)。
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ is a property of {{< glossary_tooltip text="Pods" term_id="pod" >}} that *attrac
|
||||
a set of {{< glossary_tooltip text="nodes" term_id="node" >}} (either as a preference or a
|
||||
hard requirement). _Taints_ are the opposite -- they allow a node to repel a set of pods.
|
||||
-->
|
||||
[_节点亲和性_](/zh/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)
|
||||
[_节点亲和性_](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)
|
||||
是 {{< glossary_tooltip text="Pod" term_id="pod" >}} 的一种属性,它使 Pod
|
||||
被吸引到一类特定的{{< glossary_tooltip text="节点" term_id="node" >}}
|
||||
(这可能出于一种偏好,也可能是硬性要求)。
|
||||
@@ -270,7 +270,7 @@ onto nodes labeled with `dedicated=groupName`.
|
||||
* **专用节点**:如果你想将某些节点专门分配给特定的一组用户使用,你可以给这些节点添加一个污点(即,
|
||||
`kubectl taint nodes nodename dedicated=groupName:NoSchedule`),
|
||||
然后给这组用户的 Pod 添加一个相对应的 toleration(通过编写一个自定义的
|
||||
[准入控制器](/zh/docs/reference/access-authn-authz/admission-controllers/),很容易就能做到)。
|
||||
[准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/),很容易就能做到)。
|
||||
拥有上述容忍度的 Pod 就能够被分配到上述专用节点,同时也能够被分配到集群中的其它节点。
|
||||
如果你希望这些 Pod 只能被分配到上述专用节点,那么你还需要给这些专用节点另外添加一个和上述
|
||||
污点类似的 label (例如:`dedicated=groupName`),同时 还要在上述准入控制器中给 Pod
|
||||
@@ -306,10 +306,10 @@ manually add tolerations to your pods.
|
||||
`kubectl taint nodes nodename special=true:PreferNoSchedule`),
|
||||
然后给使用了这类特殊硬件的 Pod 添加一个相匹配的 toleration。
|
||||
和专用节点的例子类似,添加这个容忍度的最简单的方法是使用自定义
|
||||
[准入控制器](/zh/docs/reference/access-authn-authz/admission-controllers/)。
|
||||
比如,我们推荐使用[扩展资源](/zh/docs/concepts/configuration/manage-resources-containers/#extended-resources)
|
||||
[准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/)。
|
||||
比如,我们推荐使用[扩展资源](/zh-cn/docs/concepts/configuration/manage-resources-containers/#extended-resources)
|
||||
来表示特殊硬件,给配置了特殊硬件的节点添加污点时包含扩展资源名称,
|
||||
然后运行一个 [ExtendedResourceToleration](/zh/docs/reference/access-authn-authz/admission-controllers/#extendedresourcetoleration)
|
||||
然后运行一个 [ExtendedResourceToleration](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#extendedresourcetoleration)
|
||||
准入控制器。此时,因为节点已经被设置污点了,没有对应容忍度的 Pod
|
||||
不会被调度到这些节点。但当你创建一个使用了扩展资源的 Pod 时,
|
||||
`ExtendedResourceToleration` 准入控制器会自动给 Pod 加上正确的容忍度,
|
||||
@@ -395,7 +395,7 @@ as the master becoming partitioned from the nodes.
|
||||
-->
|
||||
{{< note >}}
|
||||
为了保证由于节点问题引起的 Pod 驱逐
|
||||
[速率限制](/zh/docs/concepts/architecture/nodes/)行为正常,
|
||||
[速率限制](/zh-cn/docs/concepts/architecture/nodes/)行为正常,
|
||||
系统实际上会以限定速率的方式添加污点。在像主控节点与工作节点间通信中断等场景下,
|
||||
这样做可以避免 Pod 被大量驱逐。
|
||||
{{< /note >}}
|
||||
@@ -461,7 +461,7 @@ Nodes for 5 minutes after one of these problems is detected.
|
||||
|
||||
This ensures that DaemonSet pods are never evicted due to these problems.
|
||||
-->
|
||||
[DaemonSet](/zh/docs/concepts/workloads/controllers/daemonset/) 中的 Pod 被创建时,
|
||||
[DaemonSet](/zh-cn/docs/concepts/workloads/controllers/daemonset/) 中的 Pod 被创建时,
|
||||
针对以下污点自动添加的 `NoExecute` 的容忍度将不会指定 `tolerationSeconds`:
|
||||
|
||||
* `node.kubernetes.io/unreachable`
|
||||
@@ -487,7 +487,7 @@ control plane adds the `node.kubernetes.io/memory-pressure` taint.
|
||||
-->
|
||||
|
||||
控制平面使用节点{{<glossary_tooltip text="控制器" term_id="controller">}}自动创建
|
||||
与[节点状况](/zh/docs/concepts/scheduling-eviction/node-pressure-eviction/#node-conditions)对应的带有 `NoSchedule` 效应的污点。
|
||||
与[节点状况](/zh-cn/docs/concepts/scheduling-eviction/node-pressure-eviction/#node-conditions)对应的带有 `NoSchedule` 效应的污点。
|
||||
|
||||
调度器在进行调度时检查污点,而不是检查节点状况。这确保节点状况不会直接影响调度。
|
||||
例如,如果 `DiskPressure` 节点状况处于活跃状态,则控制平面
|
||||
@@ -544,5 +544,5 @@ arbitrary tolerations to DaemonSets.
|
||||
* Read about [Node-pressure Eviction](/docs/concepts/scheduling-eviction/node-pressure-eviction/) and how you can configure it
|
||||
* Read about [Pod Priority](/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
-->
|
||||
* 阅读[节点压力驱逐](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/),以及如何配置其行为
|
||||
* 阅读 [Pod 优先级](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
* 阅读[节点压力驱逐](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/),以及如何配置其行为
|
||||
* 阅读 [Pod 优先级](/zh-cn/docs/concepts/scheduling-eviction/pod-priority-preemption/)
|
||||
|
||||
Reference in New Issue
Block a user