`
命令将标签添加到你所选择的节点上。
-例如,如果你的节点名称为 'kubernetes-foo-node-1.c.a-robinson.internal'
+例如,如果你的节点名称为 'kubernetes-foo-node-1.c.a-robinson.internal'
并且想要的标签是 'disktype=ssd',则可以执行
`kubectl label nodes kubernetes-foo-node-1.c.a-robinson.internal disktype=ssd` 命令。
@@ -136,8 +136,18 @@ with a standard set of labels. See [Well-Known Labels, Annotations and Taints](/
-->
## 插曲:内置的节点标签 {#built-in-node-labels}
-除了你[添加](#attach-labels-to-node)的标签外,节点还预先填充了一组标准标签。
-参见[常用标签、注解和污点](/zh/docs/reference/labels-annotations-taints/)。
+除了你[添加](#step-one-attach-label-to-the-node)的标签外,节点还预制了一组标准标签。
+参见这些[常用的标签,注解以及污点](/zh/docs/reference/labels-annotations-taints/):
+
+* [`kubernetes.io/hostname`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#kubernetes-io-hostname)
+* [`failure-domain.beta.kubernetes.io/zone`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#failure-domainbetakubernetesiozone)
+* [`failure-domain.beta.kubernetes.io/region`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#failure-domainbetakubernetesioregion)
+* [`topology.kubernetes.io/zone`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#topologykubernetesiozone)
+* [`topology.kubernetes.io/region`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#topologykubernetesiozone)
+* [`beta.kubernetes.io/instance-type`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#beta-kubernetes-io-instance-type)
+* [`node.kubernetes.io/instance-type`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#nodekubernetesioinstance-type)
+* [`kubernetes.io/os`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#kubernetes-io-os)
+* [`kubernetes.io/arch`](/zh/docs/reference/kubernetes-api/labels-annotations-taints/#kubernetes-io-arch)
{{< note >}}
1. 检查是否在使用 Kubernetes v1.11+,以便 NodeRestriction 功能可用。
-2. 确保你在使用[节点授权](/zh/docs/reference/access-authn-authz/node/)并且已经_启用_
+2. 确保你在使用[节点授权](/zh/docs/reference/access-authn-authz/node/)并且已经_启用_
[NodeRestriction 准入插件](/zh/docs/reference/access-authn-authz/admission-controllers/#noderestriction)。
3. 将 `node-restriction.kubernetes.io/` 前缀下的标签添加到 Node 对象,
然后在节点选择器中使用这些标签。
@@ -574,7 +584,7 @@ must be satisfied for the pod to be scheduled onto a node.
用户也可以使用 `namespaceSelector` 选择匹配的名字空间,`namespaceSelector`
@@ -828,4 +838,3 @@ resource allocation decisions.
一旦 Pod 分配给 节点,kubelet 应用将运行该 pod 并且分配节点本地资源。
[拓扑管理器](/zh/docs/tasks/administer-cluster/topology-manager/)
可以参与到节点级别的资源分配决定中。
-
diff --git a/content/zh/docs/concepts/scheduling-eviction/pod-overhead.md b/content/zh/docs/concepts/scheduling-eviction/pod-overhead.md
index 40684ff11c..998a2c3327 100644
--- a/content/zh/docs/concepts/scheduling-eviction/pod-overhead.md
+++ b/content/zh/docs/concepts/scheduling-eviction/pod-overhead.md
@@ -1,9 +1,21 @@
---
title: Pod 开销
content_type: concept
-weight: 20
+weight: 30
---
+
+
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
@@ -58,7 +70,7 @@ across your cluster, and a `RuntimeClass` is utilized which defines the `overhea
您需要确保在集群中启用了 `PodOverhead` [特性门控](/zh/docs/reference/command-line-tools-reference/feature-gates/)
(在 1.18 默认是开启的),以及一个用于定义 `overhead` 字段的 `RuntimeClass`。
-
## 使用示例
@@ -85,7 +97,7 @@ overhead:
cpu: "250m"
```
-
在 RuntimeClass 准入控制器之后,可以检验一下已更新的 PodSpec:
@@ -138,7 +150,7 @@ After the RuntimeClass admission controller, you can check the updated PodSpec:
kubectl get pod test-pod -o jsonpath='{.spec.overhead}'
```
-
输出:
@@ -146,25 +158,25 @@ The output is:
map[cpu:250m memory:120Mi]
```
-
如果定义了 ResourceQuata, 则容器请求的总量以及 `overhead` 字段都将计算在内。
-
当 kube-scheduler 决定在哪一个节点调度运行新的 Pod 时,调度器会兼顾该 Pod 的 `overhead` 以及该 Pod 的容器请求总量。在这个示例中,调度器将资源请求和开销相加,然后寻找具备 2.25 CPU 和 320 MiB 内存可用的节点。
-
一旦 Pod 调度到了某个节点, 该节点上的 kubelet 将为该 Pod 新建一个 {{< glossary_tooltip text="cgroup" term_id="cgroup" >}}. 底层容器运行时将在这个 pod 中创建容器。
-
对于 CPU, 如果 Pod 的 QoS 是 Guaranteed 或者 Burstable, kubelet 会基于容器请求总量与 PodSpec 中定义的 `overhead` 之和设置 `cpu.shares`.
-
请看这个例子,验证工作负载的容器请求:
@@ -187,7 +199,7 @@ Looking at our example, verify the container requests for the workload:
kubectl get pod test-pod -o jsonpath='{.spec.containers[*].resources.limits}'
```
-
容器请求总计 2000m CPU 和 200MiB 内存:
@@ -195,7 +207,7 @@ The total container requests are 2000m CPU and 200MiB of memory:
map[cpu: 500m memory:100Mi] map[cpu:1500m memory:100Mi]
```
-
对照从节点观察到的情况来检查一下:
@@ -203,7 +215,7 @@ Check this against what is observed by the node:
kubectl describe node | grep test-pod -B2
```
-
该输出显示请求了 2250m CPU 以及 320MiB 内存,包含了 PodOverhead 在内:
@@ -226,8 +238,9 @@ cgroups directly on the node.
First, on the particular node, determine the Pod identifier:
-->
-在工作负载所运行的节点上检查 Pod 的内存 cgroups. 在接下来的例子中,将在该节点上使用具备 CRI 兼容的容器运行时命令行工具 [`crictl`](https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md).
-这是一个展示 PodOverhead 行为的进阶示例,用户并不需要直接在该节点上检查 cgroups.
+在工作负载所运行的节点上检查 Pod 的内存 cgroups. 在接下来的例子中,
+将在该节点上使用具备 CRI 兼容的容器运行时命令行工具
+[`crictl`](https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md)。
首先在特定的节点上确定该 Pod 的标识符:
@@ -240,7 +253,7 @@ First, on the particular node, determine the Pod identifier:
POD_ID="$(sudo crictl pods --name test-pod -q)"
```
-
可以依此判断该 Pod 的 cgroup 路径:
@@ -254,7 +267,7 @@ From this, you can determine the cgroup path for the Pod:
sudo crictl inspectp -o=json $POD_ID | grep cgroupsPath
```
-
执行结果的 cgroup 路径中包含了该 Pod 的 `pause` 容器。Pod 级别的 cgroup 即上面的一个目录。
@@ -262,7 +275,7 @@ The resulting cgroup path includes the Pod's `pause` container. The Pod level cg
"cgroupsPath": "/kubepods/podd7f4b509-cf94-4951-9417-d1087c92a5b2/7ccf55aee35dd16aca4189c952d83487297f3cd760f1bbf09620e206e7d0c27a"
```
-
在这个例子中,该 pod 的 cgroup 路径是 `kubepods/podd7f4b509-cf94-4951-9417-d1087c92a5b2`。验证内存的 Pod 级别 cgroup 设置:
@@ -278,7 +291,7 @@ In this specific case, the pod cgroup path is `kubepods/podd7f4b509-cf94-4951-94
cat /sys/fs/cgroup/memory/kubepods/podd7f4b509-cf94-4951-9417-d1087c92a5b2/memory.limit_in_bytes
```
-
和预期的一样是 320 MiB
@@ -286,7 +299,7 @@ This is 320 MiB, as expected:
335544320
```
-
### 可观察性
@@ -298,8 +311,11 @@ running with a defined Overhead. This functionality is not available in the 1.9
kube-state-metrics, but is expected in a following release. Users will need to build kube-state-metrics
from source in the meantime.
-->
-在 [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) 中可以通过 `kube_pod_overhead` 指标来协助确定何时使用 PodOverhead 以及协助观察以一个既定开销运行的工作负载的稳定性。
-该特性在 kube-state-metrics 的 1.9 发行版本中不可用,不过预计将在后续版本中发布。在此之前,用户需要从源代码构建 kube-state-metrics.
+在 [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) 中可以通过
+`kube_pod_overhead` 指标来协助确定何时使用 PodOverhead 以及协助观察以一个既定
+开销运行的工作负载的稳定性。
+该特性在 kube-state-metrics 的 1.9 发行版本中不可用,不过预计将在后续版本中发布。
+在此之前,用户需要从源代码构建 kube-state-metrics。
## {{% heading "whatsnext" %}}
@@ -310,4 +326,3 @@ from source in the meantime.
* [RuntimeClass](/zh/docs/concepts/containers/runtime-class/)
* [PodOverhead 设计](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/688-pod-overhead)
-
diff --git a/content/zh/docs/concepts/scheduling-eviction/resource-bin-packing.md b/content/zh/docs/concepts/scheduling-eviction/resource-bin-packing.md
index a08539b1a0..b8c097e5df 100644
--- a/content/zh/docs/concepts/scheduling-eviction/resource-bin-packing.md
+++ b/content/zh/docs/concepts/scheduling-eviction/resource-bin-packing.md
@@ -1,16 +1,18 @@
---
title: 扩展资源的资源装箱
content_type: concept
-weight: 30
+weight: 80
---
@@ -18,7 +20,7 @@ weight: 30
{{< feature-state for_k8s_version="1.16" state="alpha" >}}
使用 `RequestedToCapacityRatioResourceAllocation` 优先级函数,可以将 kube-scheduler
@@ -48,7 +50,7 @@ Kubernetes 1.16 在优先级函数中添加了一个新参数,该参数允许
(least requested)或
最多请求(most requested)计算。
`resources` 包含由 `name` 和 `weight` 组成,`name` 指定评分时要考虑的资源,
-`weight` 指定每种资源的权重。
+`weight` 指定每种资源的权重。
它可以用来添加扩展资源,如下所示:
@@ -249,4 +251,3 @@ CPU = resourceScoringFunction((2+6),8)
NodeScore = (5 * 5) + (7 * 1) + (10 * 3) / (5 + 1 + 3)
= 7
```
-
diff --git a/content/zh/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md b/content/zh/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md
index 42894aca1e..8a43385d13 100644
--- a/content/zh/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md
+++ b/content/zh/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md
@@ -1,14 +1,16 @@
---
title: 调度器性能调优
content_type: concept
-weight: 80
+weight: 100
---
@@ -45,7 +47,7 @@ large Kubernetes clusters.
-
### 设置阈值
-
-要修改这个值,编辑 [kube-scheduler 的配置文件](/zh/docs/reference/config-api/kube-scheduler-config.v1beta1/),
-之后重启调度器。
-在很多场合下,配置文件位于 `/etc/kubernetes/config/kube-scheduler.yaml`。
+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.v1beta1/)
+然后重启调度器。
+大多数情况下,这个配置文件是 `/etc/kubernetes/config/kube-scheduler.yaml`。
-
修改完成后,你可以执行
@@ -96,17 +98,17 @@ After you have made this change, you can run
kubectl get pods -n kube-system | grep kube-scheduler
```
-
来检查该 kube-scheduler 组件是否健康。
-
## 节点打分阈值 {#percentage-of-nodes-to-score}
-
-你可以使用整个集群节点总数的百分比作为阈值来指定需要多少节点就足够。
+你可以使用整个集群节点总数的百分比作为阈值来指定需要多少节点就足够。
kube-scheduler 会将它转换为节点数的整数值。在调度期间,如果
kube-scheduler 已确认的可调度节点数足以超过了配置的百分比数量,
kube-scheduler 将停止继续查找可调度节点并继续进行
[打分阶段](/zh/docs/concepts/scheduling-eviction/kube-scheduler/#kube-scheduler-implementation)。
-
[调度器如何遍历节点](#how-the-scheduler-iterates-over-nodes) 详细介绍了这个过程。
-
### 默认阈值
-
这意味着,调度器至少会对集群中 5% 的节点进行打分,除非用户将该参数设置的低于 5。
-
如果你想让调度器对集群内所有节点进行打分,则将 `percentageOfNodesToScore` 设置为 100。
-
## 示例
@@ -189,15 +191,15 @@ percentageOfNodesToScore: 50
`percentageOfNodesToScore` 的值必须在 1 到 100 之间,而且其默认值是通过集群的规模计算得来的。
另外,还有一个 50 个 Node 的最小值是硬编码在程序中。
在评估完所有 Node 后,将会返回到 Node 1,从头开始。
-
## {{% heading "whatsnext" %}}
-* 查阅 [kube-scheduler 配置参考 (v1beta1)](/zh/docs/reference/config-api/kube-scheduler-config.v1beta1/)
+
+* 参见 [kube-scheduler 配置参考 (v1beta1)](/zh/docs/reference/config-api/kube-scheduler-config.v1beta1/)
diff --git a/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md b/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md
index 5927a4c8f3..1107c19565 100644
--- a/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md
+++ b/content/zh/docs/concepts/scheduling-eviction/scheduling-framework.md
@@ -1,15 +1,17 @@
---
title: 调度框架
content_type: concept
-weight: 70
+weight: 90
---
@@ -17,17 +19,15 @@ weight: 70
{{< feature-state for_k8s_version="1.15" state="alpha" >}}
-调度框架是 Kubernetes 调度器的一种可插入架构。
-调度框架向现有的调度器增加了一组新的“插件(Plugin)” API。
-插件被编译到调度器程序中。
+
+调度框架是面向 Kubernetes 调度器的一种插件架构,
+它为现有的调度器添加了一组新的“插件” API。插件会被编译到调度器之中。
这些 API 允许大多数调度功能以插件的形式实现,同时使调度“核心”保持简单且可维护。
请参考[调度框架的设计提案](https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/624-scheduling-framework/README.md)
获取框架设计的更多技术信息。
@@ -98,7 +98,7 @@ stateful tasks.
-->
一个插件可以在多个扩展点处注册,以执行更复杂或有状态的任务。
-
{{< figure src="/images/docs/scheduling-framework-extensions.png" title="调度框架扩展点" >}}
@@ -163,12 +163,12 @@ tries to make the pod schedulable by preempting other Pods.
则其余的插件不会调用。典型的后筛选实现是抢占,试图通过抢占其他 Pod
的资源使该 Pod 可以调度。
-
### 前置评分 {#pre-score}
-
### 评分 {#scoring}
@@ -325,17 +325,17 @@ _Permit_ 插件在每个 Pod 调度周期的最后调用,用于防止或延迟
将返回调度队列,从而触发 [Unreserve](#unreserve) 插件。
-
{{< note >}}
-尽管任何插件可以访问 “等待中” 状态的 Pod 列表并批准它们
-(参阅 [`FrameworkHandle`](https://git.k8s.io/enhancements/keps/sig-scheduling/624-scheduling-framework#frameworkhandle))。
-我们希望只有被允许的插件可以批准处于“等待中”状态的预留 Pod 的绑定。
-一旦 Pod 被批准了,它将进入到[预绑定](#pre-bind) 阶段。
+尽管任何插件可以访问 “等待中” 状态的 Pod 列表并批准它们
+(查看 [`FrameworkHandle`](https://git.k8s.io/enhancements/keps/sig-scheduling/624-scheduling-framework#frameworkhandle))。
+我们期望只有允许插件可以批准处于 “等待中” 状态的预留 Pod 的绑定。
+一旦 Pod 被批准了,它将发送到[预绑定](#pre-bind) 阶段。
{{< /note >}}
# 插件配置
-
@@ -498,7 +498,7 @@ DaemonSet 控制器自动为所有守护进程添加如下 `NoSchedule` 容忍
* `node.kubernetes.io/memory-pressure`
* `node.kubernetes.io/disk-pressure`
- * `node.kubernetes.io/out-of-disk` (*只适合关键 Pod*)
+ * `node.kubernetes.io/pid-pressure` (1.14 或更高版本)
* `node.kubernetes.io/unschedulable` (1.10 或更高版本)
* `node.kubernetes.io/network-unavailable` (*只适合主机网络配置*)
diff --git a/content/zh/docs/concepts/workloads/pods/_index.md b/content/zh/docs/concepts/workloads/pods/_index.md
index 422ee139c2..4dde0a45db 100644
--- a/content/zh/docs/concepts/workloads/pods/_index.md
+++ b/content/zh/docs/concepts/workloads/pods/_index.md
@@ -135,7 +135,7 @@ Kubernetes 集群中的 Pod 主要有两种用法:
* **运行多个协同工作的容器的 Pod**。
Pod 可能封装由多个紧密耦合且需要共享资源的共处容器组成的应用程序。
这些位于同一位置的容器可能形成单个内聚的服务单元 —— 一个容器将文件从共享卷提供给公众,
- 而另一个单独的“挂斗”(sidecar)容器则刷新或更新这些文件。
+ 而另一个单独的“边车”(sidecar)容器则刷新或更新这些文件。
Pod 将这些容器和存储资源打包为一个可管理的实体。
{{< note >}}
diff --git a/content/zh/docs/concepts/workloads/pods/disruptions.md b/content/zh/docs/concepts/workloads/pods/disruptions.md
index c200a51757..e146d66bc5 100644
--- a/content/zh/docs/concepts/workloads/pods/disruptions.md
+++ b/content/zh/docs/concepts/workloads/pods/disruptions.md
@@ -170,7 +170,7 @@ in your pod spec can also cause voluntary (and involuntary) disruptions.
实现可能导致碎片整理和紧缩节点的自愿干扰。集群
管理员或托管提供商应该已经记录了各级别的自愿干扰(如果有的话)。
有些配置选项,例如在 pod spec 中
-[使用 PriorityClasses](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/)
+[使用 PriorityClasses](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/)
也会产生自愿(和非自愿)的干扰。
-### 临时容器 API {#ephemeral-containers-api}」
+### 临时容器 API {#ephemeral-containers-api}
{{< note >}}
@@ -29,16 +30,26 @@ This section of the Kubernetes documentation contains references.
## API 参考
+* [术语表](/zh/docs/reference/glossary/) - 一个全面的标准化的 Kubernetes 术语表
+
+* [Kubernetes API 单页参考](/zh/docs/reference/kubernetes-api/)
* [Kubernetes API 参考 {{< param "version" >}}](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)。
* [使用 Kubernetes API ](/zh/docs/reference/using-api/) - Kubernetes 的 API 概述
+* [API 的访问控制](/zh/docs/reference/access-authn-authz/) - 关于 Kubernetes 如何控制 API 访问的详细信息
+* [常见的标签、注解和污点](/zh/docs/reference/labels-annotations-taints/)
-## API 客户端库
+## 官方支持的客户端库
如果您需要通过编程语言调用 Kubernetes API,您可以使用
[客户端库](/zh/docs/reference/using-api/client-libraries/)。以下是官方支持的客户端库:
@@ -58,16 +71,17 @@ client libraries:
- [Kubernetes Python 语言客户端库](https://github.com/kubernetes-client/python)
- [Kubernetes Java 语言客户端库](https://github.com/kubernetes-client/java)
- [Kubernetes JavaScript 语言客户端库](https://github.com/kubernetes-client/javascript)
+- [Kubernetes Dotnet 语言客户端库](https://github.com/kubernetes-client/csharp)
+- [Kubernetes Haskell 语言客户端库](https://github.com/kubernetes-client/haskell)
-## CLI 参考
+## CLI
* [kubectl](/zh/docs/reference/kubectl/overview/) - 主要的 CLI 工具,用于运行命令和管理 Kubernetes 集群。
* [JSONPath](/zh/docs/reference/kubectl/jsonpath/) - 通过 kubectl 使用
@@ -75,29 +89,75 @@ client libraries:
* [kubeadm](/zh/docs/reference/setup-tools/kubeadm/) - 此 CLI 工具可轻松配置安全的 Kubernetes 集群。
-## 组件参考
+## 组件
+
+* [kubelet](/zh/docs/reference/command-line-tools-reference/kubelet/) -
+ 在每个节点上运行的主代理。kubelet 接收一组 PodSpecs 并确保其所描述的容器健康地运行。
+* [kube-apiserver](/zh/docs/reference/command-line-tools-reference/kube-apiserver/) -
+ REST API,用于验证和配置 API 对象(如 Pod、服务或副本控制器等)的数据。
+* [kube-controller-manager](/zh/docs/reference/command-line-tools-reference/kube-controller-manager/) -
+ 一个守护进程,其中包含 Kubernetes 所附带的核心控制回路。
+* [kube-proxy](/zh/docs/reference/command-line-tools-reference/kube-proxy/) -
+ 可进行简单的 TCP/UDP 流转发或针对一组后端执行轮流 TCP/UDP 转发。
+* [kube-scheduler](/zh/docs/reference/command-line-tools-reference/kube-scheduler/) -
+ 一个调度程序,用于管理可用性、性能和容量。
+
+ * [调度策略](/zh/docs/reference/scheduling/policies)
+ * [调度配置](/zh/docs/reference/scheduling/config#profiles)
+
+
+## 配置 API
+
+本节包含用于配置 kubernetes 组件或工具的 "未发布" API 的文档。
+尽管这些 API 对于用户或操作者使用或管理集群来说是必不可少的,
+它们大都没有以 RESTful 的方式在 API 服务器上公开。
+
+* [kubelet 配置 (v1beta1)](/zh/docs/reference/config-api/kubelet-config.v1beta1/)
+* [kube-scheduler 配置 (v1beta1)](/zh/docs/reference/config-api/kube-scheduler-config.v1beta1/)
+* [kube-scheduler 策略参考 (v1)](/zh/docs/reference/config-api/kube-scheduler-policy-config.v1/)
+* [kube-proxy 配置 (v1alpha1)](/zh/docs/reference/config-api/kube-proxy-config.v1alpha1/)
+* [`audit.k8s.io/v1` API](/zh/docs/reference/config-api/apiserver-audit.v1/)
+* [客户端认证 API (v1beta1)](/zh/docs/reference/config-api/client-authentication.v1beta1/)
+* [WebhookAdmission 配置 (v1)](/zh/docs/reference/config-api/apiserver-webhookadmission.v1/)
-* [kubelet](/zh/docs/reference/command-line-tools-reference/kubelet/) - 在每个节点上运行的主 *节点代理* 。kubelet 采用一组 PodSpecs 并确保所描述的容器健康地运行。
-* [kube-apiserver](/zh/docs/reference/command-line-tools-reference/kube-apiserver/) - REST API,用于验证和配置 API 对象(如 Pod、服务或副本控制器等)的数据。
-* [kube-controller-manager](/zh/docs/reference/command-line-tools-reference/kube-controller-manager/) - 一个守护进程,它嵌入到了 Kubernetes 的附带的核心控制循环。
-* [kube-proxy](/zh/docs/reference/command-line-tools-reference/kube-proxy/) - 可进行简单的 TCP/UDP 流转发或针对一组后端执行轮流 TCP/UDP 转发。
-* [kube-scheduler](/zh/docs/reference/command-line-tools-reference/kube-scheduler/) - 一个调度程序,用于管理可用性、性能和容量。
- * [kube-scheduler 策略](/zh/docs/reference/scheduling/policies)
- * [kube-scheduler 配置](/zh/docs/reference/scheduling/config#profiles)
## 设计文档
diff --git a/content/zh/docs/reference/access-authn-authz/service-accounts-admin.md b/content/zh/docs/reference/access-authn-authz/service-accounts-admin.md
index 82b37c9043..071329096c 100644
--- a/content/zh/docs/reference/access-authn-authz/service-accounts-admin.md
+++ b/content/zh/docs/reference/access-authn-authz/service-accounts-admin.md
@@ -1,5 +1,5 @@
---
-title: 管理 Service Accounts
+title: 管理服务账号
content_type: concept
weight: 50
---
@@ -20,7 +20,7 @@ weight: 50
This is a Cluster Administrator guide to service accounts. You should be familiar with
[configuring Kubernetes service accounts](/docs/tasks/configure-pod-container/configure-service-account/).
-Support for authorization and user accounts is planned but incomplete. Sometimes
+Support for authorization and user accounts is planned but incomplete. Sometimes
incomplete features are referred to in order to better describe service accounts.
-->
这是一篇针对服务账号的集群管理员指南。你应该熟悉
@@ -102,41 +102,98 @@ It acts synchronously to modify pods as they are created or updated. When this p
或更新时它会进行以下操作:
-1. 如果该 Pod 没有设置 `serviceAccountName`,将其 `serviceAccountName` 设为
- `default`。
-1. 保证 Pod 所引用的 `serviceAccountName` 确实存在,否则拒绝该 Pod。
-1. 如果 Pod 不包含 `imagePullSecrets` 设置,将 `serviceAccountName` 所引用
- 的服务账号中的 `imagePullSecrets` 信息添加到 Pod 中。
+1. 如果该 Pod 没有设置 `ServiceAccount`,将其 `ServiceAccount` 设为 `default`。
+1. 保证 Pod 所引用的 `ServiceAccount` 确实存在,否则拒绝该 Pod。
1. 如果服务账号的 `automountServiceAccountToken` 或 Pod 的
`automountServiceAccountToken` 都为设置为 `false`,则为 Pod 创建一个
`volume`,在其中包含用来访问 API 的令牌。
1. 如果前一步中为服务账号令牌创建了卷,则为 Pod 中的每个容器添加一个
`volumeSource`,挂载在其 `/var/run/secrets/kubernetes.io/serviceaccount`
目录下。
+1. 如果 Pod 不包含 `imagePullSecrets` 设置,将 `ServiceAccount` 所引用
+ 的服务账号中的 `imagePullSecrets` 信息添加到 Pod 中。
-当 `BoundServiceAccountTokenVolume` 特性门控被启用时,你可以将服务账号卷迁移到投射卷。
-服务账号令牌会在 1 小时后或者 Pod 被删除之后过期。
-更多信息可参阅[投射卷](/zh/docs/tasks/configure-pod-container/configure-projected-volume-storage/)。
+#### 绑定的服务账号令牌卷 {#bound-service-account-token-volume}
+
+
+{{< feature-state for_k8s_version="v1.21" state="beta" >}}
+
+
+当 `BoundServiceAccountTokenVolume`
+[特性门控](/zh/docs/reference/command-line-tools-reference/feature-gates/)
+被启用时,服务账号准入控制器将添加如下投射卷,而不是为令牌控制器
+所生成的不过期的服务账号令牌而创建的基于 Secret 的卷。
+
+```yaml
+- name: kube-api-access-<随机后缀>
+ projected:
+ defaultMode: 420 # 0644
+ sources:
+ - serviceAccountToken:
+ expirationSeconds: 3600
+ path: token
+ - configMap:
+ items:
+ - key: ca.crt
+ path: ca.crt
+ name: kube-root-ca.crt
+ - downwardAPI:
+ items:
+ - fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ path: namespace
+```
+
+
+此投射卷有三个数据源:
+
+1. 通过 TokenRequest API 从 kube-apiserver 处获得的 ServiceAccountToken。
+ 这一令牌默认会在一个小时之后或者 Pod 被删除时过期。
+ 该令牌绑定到 Pod 实例上,并将 kube-apiserver 作为其受众(audience)。
+1. 包含用来验证与 kube-apiserver 连接的 CA 证书包的 ConfigMap 对象。
+ 这一特性依赖于 `RootCAConfigMap` 特性门控被启用。该特性被启用时,
+ 控制面会公开一个名为 `kube-root-ca.crt` 的 ConfigMap 给所有名字空间。
+ `RootCAConfigMap` 在 1.20 版本中是默认被启用的,在 1.21 及之后版本中
+ 总是被启用。
+1. 引用 Pod 名字空间的一个 DownwardAPI。
+
+
+参阅[投射卷](/zh/docs/tasks/configure-pod-container/configure-projected-volume-storage/)
+了解进一步的细节。
+
+如果 `BoundServiceAccountTokenVolume` 特性门控未被启用,
+你可以手动地将一个基于 Secret 的服务账号卷升级为一个投射卷,
+方法是将上述投射卷添加到 Pod 规约中。
+不过,这时仍需要启用 `RootCAConfigMap` 特性门控。
## {{% heading "synopsis" %}}
@@ -18,14 +20,14 @@ each Pod in the scheduling queue according to constraints and available
resources. The scheduler then ranks each valid Node and binds the Pod to a
suitable Node. Multiple different schedulers may be used within a cluster;
kube-scheduler is the reference implementation.
-See [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/)
+See [scheduling](/docs/concepts/scheduling-eviction/)
for more information about scheduling and the kube-scheduler component.
-->
Kubernetes 调度器是一个控制面进程,负责将 Pods 指派到节点上。
调度器基于约束和可用资源为调度队列中每个 Pod 确定其可合法放置的节点。
调度器之后对所有合法的节点进行排序,将 Pod 绑定到一个合适的节点。
在同一个集群中可以使用多个不同的调度器;kube-scheduler 是其参考实现。
-参阅[调度](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/)
+参阅[调度](/zh/docs/concepts/scheduling-eviction/)
以获得关于调度和 kube-scheduler 组件的更多信息。
```
@@ -58,10 +60,11 @@ If true, adds the file directory to the header of the log messages
|
-已弃用: 要监听 --port 端口的 IP 地址(对于所有 IPv4 接口设置为 0.0.0.0,对于所有 IPv6 接口设置为 ::)。
+已弃用: 要监听 --port 端口的 IP 地址(将其设置为 0.0.0.0 或者 :: 用于监听所有接口和 IP族)。
请参阅 --bind-address。
+如果在 --config 中指定了一个配置文件,这个参数将被忽略。
|
@@ -73,19 +76,36 @@ DEPRECATED: the IP address on which to listen for the --port port (set to 0.0.0.
-已弃用: 要使用的调度算法驱动,此标志设置组件配置框架的默认插件。
+已弃用: 要使用的调度算法驱动,此标志设置组件配置框架的默认插件。
可选值:ClusterAutoscalerProvider | DefaultProvider
+
+| --allow-metric-labels stringToString
+默认值: [] |
+
+
+ |
+
+这个键值映射表设置 度量标签 所允许设置的值。
+其中键的格式是 <MetricName>,<LabelName>。
+值的格式是 <allowed_value>,<allowed_value>。
+例如:metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'。
+ |
+
+
| --alsologtostderr |
|
+日志记录到标准错误以及文件
|
@@ -141,7 +161,7 @@ If true, failures to look up missing authentication configuration from the clust
-| --authorization-always-allow-paths stringSlice 默认值:[/healthz] |
+--authorization-always-allow-paths strings 默认值:"/healthz,/readyz,/livez" |
|
@@ -203,16 +223,17 @@ Path to the file containing Azure container registry configuration information.
|
-| --bind-address ip 默认值:0.0.0.0 |
+--bind-address string 默认值:0.0.0.0 |
|
监听 --secure-port 端口的 IP 地址。
集群的其余部分以及 CLI/ Web 客户端必须可以访问关联的接口。
如果为空,将使用所有接口(0.0.0.0 表示使用所有 IPv4 接口,"::" 表示使用所有 IPv6 接口)。
+如果为空或未指定地址 (0.0.0.0 或 ::),所有接口将被使用。
|
@@ -248,27 +269,43 @@ If set, any request presenting a client certificate signed by one of the authori
|
配置文件的路径。以下标志会覆盖此文件中的值:
---address
---port
---use-legacy-policy-config
---policy-configmap
+--algorithm-provider
--policy-config-file
---algorithm-provider
+--policy-configmap
+--policy-configmap-namespace
|
-| --contention-profiling |
+--contention-profiling 默认值: true |
|
-已弃用: 如果启用了性能分析,则启用锁竞争分析
+已弃用: 如果启用了性能分析,则启用锁竞争分析。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
+ |
+
+
+
+| --disabled-metrics strings |
+
+
+ |
+
+这个标志提供了一个规避不良指标的选项。你必须提供完整的指标名称才能禁用它。
+免责声明:禁用指标的优先级比显示隐藏的指标更高。
|
@@ -287,7 +324,7 @@ DEPRECATED: enable lock contention profiling, if profiling is enabled
-| --feature-gates mapStringBool |
+--feature-gates <逗号分隔的 'key=True|False' 对> |
|
@@ -299,41 +336,35 @@ APIResponseCompression=true|false (BETA - default=true)
APIServerIdentity=true|false (ALPHA - default=false)
AllAlpha=true|false (ALPHA - default=false)
AllBeta=true|false (BETA - default=false)
-AllowInsecureBackendProxy=true|false (BETA - default=true)
AnyVolumeDataSource=true|false (ALPHA - default=false)
AppArmor=true|false (BETA - default=true)
BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
-BoundServiceAccountTokenVolume=true|false (ALPHA - default=false)
+BoundServiceAccountTokenVolume=true|false (BETA - default=true)
CPUManager=true|false (BETA - default=true)
-CRIContainerLogRotation=true|false (BETA - default=true)
CSIInlineVolume=true|false (BETA - default=true)
CSIMigration=true|false (BETA - default=true)
CSIMigrationAWS=true|false (BETA - default=false)
-CSIMigrationAWSComplete=true|false (ALPHA - default=false)
CSIMigrationAzureDisk=true|false (BETA - default=false)
-CSIMigrationAzureDiskComplete=true|false (ALPHA - default=false)
-CSIMigrationAzureFile=true|false (ALPHA - default=false)
-CSIMigrationAzureFileComplete=true|false (ALPHA - default=false)
+CSIMigrationAzureFile=true|false (BETA - default=false)
CSIMigrationGCE=true|false (BETA - default=false)
-CSIMigrationGCEComplete=true|false (ALPHA - default=false)
-CSIMigrationOpenStack=true|false (BETA - default=false)
-CSIMigrationOpenStackComplete=true|false (ALPHA - default=false)
+CSIMigrationOpenStack=true|false (BETA - default=true)
CSIMigrationvSphere=true|false (BETA - default=false)
CSIMigrationvSphereComplete=true|false (BETA - default=false)
-CSIServiceAccountToken=true|false (ALPHA - default=false)
-CSIStorageCapacity=true|false (ALPHA - default=false)
+CSIServiceAccountToken=true|false (BETA - default=true)
+CSIStorageCapacity=true|false (BETA - default=true)
CSIVolumeFSGroupPolicy=true|false (BETA - default=true)
+CSIVolumeHealth=true|false (ALPHA - default=false)
ConfigurableFSGroupPolicy=true|false (BETA - default=true)
-CronJobControllerV2=true|false (ALPHA - default=false)
+ControllerManagerLeaderMigration=true|false (ALPHA - default=false)
+CronJobControllerV2=true|false (BETA - default=true)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false)
+DaemonSetUpdateSurge=true|false (ALPHA - default=false)
DefaultPodTopologySpread=true|false (BETA - default=true)
DevicePlugins=true|false (BETA - default=true)
DisableAcceleratorUsageMetrics=true|false (BETA - default=true)
-DownwardAPIHugePages=true|false (ALPHA - default=false)
+DownwardAPIHugePages=true|false (BETA - default=false)
DynamicKubeletConfig=true|false (BETA - default=true)
-EfficientWatchResumption=true|false (ALPHA - default=false)
-EndpointSlice=true|false (BETA - default=true)
-EndpointSliceNodeName=true|false (ALPHA - default=false)
+EfficientWatchResumption=true|false (BETA - default=true)
EndpointSliceProxying=true|false (BETA - default=true)
EndpointSliceTerminatingCondition=true|false (ALPHA - default=false)
EphemeralContainers=true|false (ALPHA - default=false)
@@ -341,90 +372,98 @@ ExpandCSIVolumes=true|false (BETA - default=true)
ExpandInUsePersistentVolumes=true|false (BETA - default=true)
ExpandPersistentVolumes=true|false (BETA - default=true)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
-GenericEphemeralVolume=true|false (ALPHA - default=false)
-GracefulNodeShutdown=true|false (ALPHA - default=false)
+GenericEphemeralVolume=true|false (BETA - default=true)
+GracefulNodeShutdown=true|false (BETA - default=true)
HPAContainerMetrics=true|false (ALPHA - default=false)
HPAScaleToZero=true|false (ALPHA - default=false)
HugePageStorageMediumSize=true|false (BETA - default=true)
-IPv6DualStack=true|false (ALPHA - default=false)
-ImmutableEphemeralVolumes=true|false (BETA - default=true)
+IPv6DualStack=true|false (BETA - default=true)
+InTreePluginAWSUnregister=true|false (ALPHA - default=false)
+InTreePluginAzureDiskUnregister=true|false (ALPHA - default=false)
+InTreePluginAzureFileUnregister=true|false (ALPHA - default=false)
+InTreePluginGCEUnregister=true|false (ALPHA - default=false)
+InTreePluginOpenStackUnregister=true|false (ALPHA - default=false)
+InTreePluginvSphereUnregister=true|false (ALPHA - default=false)
+IndexedJob=true|false (ALPHA - default=false)
+IngressClassNamespacedParams=true|false (ALPHA - default=false)
KubeletCredentialProviders=true|false (ALPHA - default=false)
KubeletPodResources=true|false (BETA - default=true)
-LegacyNodeRoleBehavior=true|false (BETA - default=true)
+KubeletPodResourcesGetAllocatable=true|false (ALPHA - default=false)
LocalStorageCapacityIsolation=true|false (BETA - default=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - default=false)
+LogarithmicScaleDown=true|false (ALPHA - default=false)
+MemoryManager=true|false (ALPHA - default=false)
MixedProtocolLBService=true|false (ALPHA - default=false)
-NodeDisruptionExclusion=true|false (BETA - default=true)
+NamespaceDefaultLabelName=true|false (BETA - default=true)
+NetworkPolicyEndPort=true|false (ALPHA - default=false)
NonPreemptingPriority=true|false (BETA - default=true)
-PodDisruptionBudget=true|false (BETA - default=true)
+PodAffinityNamespaceSelector=true|false (ALPHA - default=false)
+PodDeletionCost=true|false (ALPHA - default=false)
PodOverhead=true|false (BETA - default=true)
+PreferNominatedNode=true|false (ALPHA - default=false)
+ProbeTerminationGracePeriod=true|false (ALPHA - default=false)
ProcMountType=true|false (ALPHA - default=false)
QOSReserved=true|false (ALPHA - default=false)
RemainingItemCount=true|false (BETA - default=true)
RemoveSelfLink=true|false (BETA - default=true)
-RootCAConfigMap=true|false (BETA - default=true)
RotateKubeletServerCertificate=true|false (BETA - default=true)
-RunAsGroup=true|false (BETA - default=true)
ServerSideApply=true|false (BETA - default=true)
-ServiceAccountIssuerDiscovery=true|false (BETA - default=true)
+ServiceInternalTrafficPolicy=true|false (ALPHA - default=false)
ServiceLBNodePortControl=true|false (ALPHA - default=false)
-ServiceNodeExclusion=true|false (BETA - default=true)
+ServiceLoadBalancerClass=true|false (ALPHA - default=false)
ServiceTopology=true|false (ALPHA - default=false)
SetHostnameAsFQDN=true|false (BETA - default=true)
SizeMemoryBackedVolumes=true|false (ALPHA - default=false)
StorageVersionAPI=true|false (ALPHA - default=false)
StorageVersionHash=true|false (BETA - default=true)
-Sysctls=true|false (BETA - default=true)
-TTLAfterFinished=true|false (ALPHA - default=false)
+SuspendJob=true|false (ALPHA - default=false)
+TTLAfterFinished=true|false (BETA - default=true)
+TopologyAwareHints=true|false (ALPHA - default=false)
TopologyManager=true|false (BETA - default=true)
ValidateProxyRedirects=true|false (BETA - default=true)
+VolumeCapacityPriority=true|false (ALPHA - default=false)
WarningHeaders=true|false (BETA - default=true)
WinDSR=true|false (ALPHA - default=false)
WinOverlay=true|false (BETA - default=true)
-WindowsEndpointSliceProxying=true|false (ALPHA - default=false)
+WindowsEndpointSliceProxying=true|false (BETA - default=true)
-->
一组 key=value 对,描述了 alpha/experimental 特征开关。选项包括:
+A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
APIListChunking=true|false (BETA - 默认值=true)
APIPriorityAndFairness=true|false (BETA - 默认值=true)
APIResponseCompression=true|false (BETA - 默认值=true)
APIServerIdentity=true|false (ALPHA - 默认值=false)
AllAlpha=true|false (ALPHA - 默认值=false)
AllBeta=true|false (BETA - 默认值=false)
-AllowInsecureBackendProxy=true|false (BETA - 默认值=true)
AnyVolumeDataSource=true|false (ALPHA - 默认值=false)
AppArmor=true|false (BETA - 默认值=true)
BalanceAttachedNodeVolumes=true|false (ALPHA - 默认值=false)
-BoundServiceAccountTokenVolume=true|false (ALPHA - 默认值=false)
+BoundServiceAccountTokenVolume=true|false (BETA - 默认值=true)
CPUManager=true|false (BETA - 默认值=true)
-CRIContainerLogRotation=true|false (BETA - 默认值=true)
CSIInlineVolume=true|false (BETA - 默认值=true)
CSIMigration=true|false (BETA - 默认值=true)
-CSIMigrationAWS=true|false (BETA - 默认值=true)
-CSIMigrationAWSComplete=true|false (ALPHA - 默认值=false)
-CSIMigrationAzureDisk=true|false (BETA - 默认值=true)
-CSIMigrationAzureDiskComplete=true|false (ALPHA - 默认值=false)
-CSIMigrationAzureFile=true|false (ALPHA - 默认值=false)
-CSIMigrationAzureFileComplete=true|false (ALPHA - 默认值=false)
-CSIMigrationGCE=true|false (BETA - 默认值=true)
-CSIMigrationGCEComplete=true|false (ALPHA - 默认值=false)
+CSIMigrationAWS=true|false (BETA - 默认值=false)
+CSIMigrationAzureDisk=true|false (BETA - 默认值=false)
+CSIMigrationAzureFile=true|false (BETA - 默认值=false)
+CSIMigrationGCE=true|false (BETA - 默认值=false)
CSIMigrationOpenStack=true|false (BETA - 默认值=true)
-CSIMigrationOpenStackComplete=true|false (ALPHA - 默认值=false)
CSIMigrationvSphere=true|false (BETA - 默认值=false)
-CSIMigrationvSphereComplete=true|false (BETA - default=false)
-CSIServiceAccountToken=true|false (ALPHA - 默认值=false)
-CSIStorageCapacity=true|false (ALPHA - 默认值=false)
+CSIMigrationvSphereComplete=true|false (BETA - 默认值=false)
+CSIServiceAccountToken=true|false (BETA - 默认值=true)
+CSIStorageCapacity=true|false (BETA - 默认值=true)
CSIVolumeFSGroupPolicy=true|false (BETA - 默认值=true)
+CSIVolumeHealth=true|false (ALPHA - 默认值=false)
ConfigurableFSGroupPolicy=true|false (BETA - 默认值=true)
-CronJobControllerV2=true|false (ALPHA - 默认值=false)
+ControllerManagerLeaderMigration=true|false (ALPHA - 默认值=false)
+CronJobControllerV2=true|false (BETA - 默认值=true)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false)
+DaemonSetUpdateSurge=true|false (ALPHA - 默认值=false)
DefaultPodTopologySpread=true|false (BETA - 默认值=true)
DevicePlugins=true|false (BETA - 默认值=true)
DisableAcceleratorUsageMetrics=true|false (BETA - 默认值=true)
-DownwardAPIHugePages=true|false (ALPHA - 默认值=false)
+DownwardAPIHugePages=true|false (BETA - 默认值=false)
DynamicKubeletConfig=true|false (BETA - 默认值=true)
-EfficientWatchResumption=true|false (ALPHA - 默认值=false)
-EndpointSlice=true|false (ALPHA - 默认值=false)
-EndpointSliceNodeName=true|false (ALPHA - 默认值=false)
+EfficientWatchResumption=true|false (BETA - 默认值=true)
EndpointSliceProxying=true|false (BETA - 默认值=true)
EndpointSliceTerminatingCondition=true|false (ALPHA - 默认值=false)
EphemeralContainers=true|false (ALPHA - 默认值=false)
@@ -432,47 +471,60 @@ ExpandCSIVolumes=true|false (BETA - 默认值=true)
ExpandInUsePersistentVolumes=true|false (BETA - 默认值=true)
ExpandPersistentVolumes=true|false (BETA - 默认值=true)
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - 默认值=false)
-GenericEphemeralVolume=true|false (ALPHA - 默认值=false)
-GracefulNodeShutdown=true|false (ALPHA - 默认值=false)
+GenericEphemeralVolume=true|false (BETA - 默认值=true)
+GracefulNodeShutdown=true|false (BETA - 默认值=true)
HPAContainerMetrics=true|false (ALPHA - 默认值=false)
HPAScaleToZero=true|false (ALPHA - 默认值=false)
HugePageStorageMediumSize=true|false (BETA - 默认值=true)
-IPv6DualStack=true|false (ALPHA - 默认值=false)
-ImmutableEphemeralVolumes=true|false (BETA - 默认值=true)
+IPv6DualStack=true|false (BETA - 默认值=true)
+InTreePluginAWSUnregister=true|false (ALPHA - 默认值=false)
+InTreePluginAzureDiskUnregister=true|false (ALPHA - 默认值=false)
+InTreePluginAzureFileUnregister=true|false (ALPHA - 默认值=false)
+InTreePluginGCEUnregister=true|false (ALPHA - 默认值=false)
+InTreePluginOpenStackUnregister=true|false (ALPHA - 默认值=false)
+InTreePluginvSphereUnregister=true|false (ALPHA - 默认值=false)
+IndexedJob=true|false (ALPHA - 默认值=false)
+IngressClassNamespacedParams=true|false (ALPHA - 默认值=false)
KubeletCredentialProviders=true|false (ALPHA - 默认值=false)
KubeletPodResources=true|false (BETA - 默认值=true)
-LegacyNodeRoleBehavior=true|false (BETA - 默认值=true)
+KubeletPodResourcesGetAllocatable=true|false (ALPHA - 默认值=false)
LocalStorageCapacityIsolation=true|false (BETA - 默认值=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 默认值=false)
+LogarithmicScaleDown=true|false (ALPHA - 默认值=false)
+MemoryManager=true|false (ALPHA - 默认值=false)
MixedProtocolLBService=true|false (ALPHA - 默认值=false)
-NodeDisruptionExclusion=true|false (BETA - 默认值=false)
+NamespaceDefaultLabelName=true|false (BETA - 默认值=true)
+NetworkPolicyEndPort=true|false (ALPHA - 默认值=false)
NonPreemptingPriority=true|false (BETA - 默认值=true)
-PodDisruptionBudget=true|false (BETA - 默认值=true)
+PodAffinityNamespaceSelector=true|false (ALPHA - 默认值=false)
+PodDeletionCost=true|false (ALPHA - 默认值=false)
PodOverhead=true|false (BETA - 默认值=true)
+PreferNominatedNode=true|false (ALPHA - 默认值=false)
+ProbeTerminationGracePeriod=true|false (ALPHA - 默认值=false)
ProcMountType=true|false (ALPHA - 默认值=false)
QOSReserved=true|false (ALPHA - 默认值=false)
RemainingItemCount=true|false (BETA - 默认值=true)
RemoveSelfLink=true|false (BETA - 默认值=true)
-RootCAConfigMap=true|false (BETA - 默认值=true)
RotateKubeletServerCertificate=true|false (BETA - 默认值=true)
-RunAsGroup=true|false (BETA - 默认值=true)
ServerSideApply=true|false (BETA - 默认值=true)
-ServiceAccountIssuerDiscovery=true|false (BETA - 默认值=true)
+ServiceInternalTrafficPolicy=true|false (ALPHA - 默认值=false)
ServiceLBNodePortControl=true|false (ALPHA - 默认值=false)
-ServiceNodeExclusion=true|false (BETA - 默认值=true)
+ServiceLoadBalancerClass=true|false (ALPHA - 默认值=false)
ServiceTopology=true|false (ALPHA - 默认值=false)
SetHostnameAsFQDN=true|false (BETA - 默认值=true)
SizeMemoryBackedVolumes=true|false (ALPHA - 默认值=false)
StorageVersionAPI=true|false (ALPHA - 默认值=false)
StorageVersionHash=true|false (BETA - 默认值=true)
-Sysctls=true|false (BETA - 默认值=true)
-TTLAfterFinished=true|false (ALPHA - 默认值=false)
+SuspendJob=true|false (ALPHA - 默认值=false)
+TTLAfterFinished=true|false (BETA - 默认值=true)
+TopologyAwareHints=true|false (ALPHA - 默认值=false)
TopologyManager=true|false (BETA - 默认值=true)
ValidateProxyRedirects=true|false (BETA - 默认值=true)
+VolumeCapacityPriority=true|false (ALPHA - 默认值=false)
WarningHeaders=true|false (BETA - 默认值=true)
WinDSR=true|false (ALPHA - 默认值=false)
WinOverlay=true|false (BETA - 默认值=true)
-WindowsEndpointSliceProxying=true|false (ALPHA - 默认值=false)
+WindowsEndpointSliceProxying=true|false (BETA - 默认值=true)
|
@@ -482,12 +534,13 @@ WindowsEndpointSliceProxying=true|false (ALPHA - 默认值=false)
|
已弃用: RequiredDuringScheduling 亲和性是不对称的,但是存在与每个
RequiredDuringScheduling 关联性规则相对应的隐式 PreferredDuringScheduling 关联性规则。
--hard-pod-affinity-symmetric-weight 代表隐式 PreferredDuringScheduling
-关联性规则的权重。权重必须在 0-100 范围内。此选项已移至策略配置文件。
+关联性规则的权重。权重必须在 0-100 范围内。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
|
@@ -521,9 +574,10 @@ The limit that the server gives to clients for the maximum number of streams in
|
已弃用: 与 kubernetes API 通信时使用的突发请求个数限值。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
|
@@ -533,9 +587,10 @@ DEPRECATED: burst to use while talking with kubernetes apiserver
|
已弃用: 发送到 API 服务器的请求的内容类型。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
|
@@ -545,9 +600,10 @@ DEPRECATED: content type of requests sent to apiserver.
|
已弃用: 与 kubernetes apiserver 通信时要使用的 QPS
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
|
@@ -557,9 +613,10 @@ DEPRECATED: QPS to use while talking with kubernetes apiserver
|
已弃用: 包含鉴权和主节点位置信息的 kubeconfig 文件的路径。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
|
@@ -604,7 +661,7 @@ The interval between attempts by the acting master to renew a leadership slot be
-| --leader-elect-resource-lock endpoints 默认值:"leases" |
+--leader-elect-resource-lock string 默认值:"leases" |
|
@@ -659,9 +716,10 @@ The duration the clients should wait between attempting acquisition and renewal
|
|
已弃用: 定义锁对象的名称。将被删除以便使用 --leader-elect-resource-name。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
|
@@ -671,14 +729,16 @@ DEPRECATED: define the name of the lock object. Will be removed in favor of lead
|
已弃用: 定义锁对象的命名空间。将被删除以便使用 leader-elect-resource-namespace。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略。
|
-| --log-backtrace-at traceLocation 默认值::0 |
+--log-backtrace-at <a string in the form 'file:N'>
+默认值: 0 |
|
@@ -739,19 +799,24 @@ Maximum number of seconds between log flushes
|
-| --logging-format string 默认值:"text" |
+--logging-format string 默认值:“text” |
|
-设置日志格式。可选格式:"json"、"text"。
-非默认格式不会在意以下标志设置:
---add_dir_header、--alsologtostderr、--log_backtrace_at、--log_dir、
---log_file、--log_file_max_size、--logtostderr、--one_output、
---skip_headers、--skip_log_headers、--stderrthreshold、--vmodule、
---log-flush-frequency.
+设置日志格式。可选格式:“json”,“text”。
+采用非默认格式时,以下标识不会生效:
+--add-dir-header, --alsologtostderr, --log-backtrace-at,
+--log-dir, --log-file, --log-file-max-size,
+--logtostderr, --one-output, --skip-headers, --skip-log-headers,
+--stderrthreshold, --vmodule, --log-flush-frequency.
非默认选项目前处于 Alpha 阶段,有可能会出现变更且无事先警告。
|
@@ -786,22 +851,38 @@ Kubernetes API 服务器的地址(覆盖 kubeconfig 中的任何值)。
|
若此标志为 true,则日志仅写入其自身的严重性级别,而不会写入所有较低严重性级别。
|
+
+| --permit-address-sharing |
+
+
+ |
+
+如果为 true,在绑定端口时将使用 SO_REUSEADDR。
+这将允许同时绑定诸如 0.0.0.0 这类通配符 IP和特定 IP,
+并且它避免等待内核释放处于 TIME_WAIT 状态的套接字。
+默认值: false
+ |
+
+
| --permit-port-sharing |
|
如果此标志为 true,在绑定端口时会使用 SO_REUSEPORT,从而允许不止一个
实例绑定到同一地址和端口。
+默认值:false
|
@@ -853,22 +934,25 @@ DEPRECATED: the namespace where policy ConfigMap is located. The kube-system nam
|
-已弃用: 在没有身份验证和授权的情况下不安全地为 HTTP 服务的端口。
-如果为0,则根本不提供 HTTP。请参见--secure-port。
+已弃用: 在没有身份验证和鉴权的情况下不安全地为 HTTP 服务的端口。
+如果为 0,则根本不提供 HTTP。请参见 --secure-port。
+如果 --config 指定了一个配置文件,这个参数将被忽略。
|
-| --profiling |
+--profiling 默认值: true |
|
已弃用: 通过 Web 界面主机启用配置文件:host:port/debug/pprof/。
+如果 --config 指定了一个配置文件,这个参数将被忽略。
|
@@ -901,7 +985,8 @@ Root certificate bundle to use to verify client certificates on incoming request
-| --requestheader-extra-headers-prefix stringSlice 默认值:[x-remote-extra-] |
+--requestheader-extra-headers-prefix strings
+默认值: "x-remote-extra-" |
|
@@ -913,7 +998,8 @@ List of request header prefixes to inspect. X-Remote-Extra- is suggested.
|
-| --requestheader-group-headers stringSlice 默认值:[x-remote-group] |
+--requestheader-group-headers strings
+默认值: "x-remote-group" |
|
@@ -925,7 +1011,8 @@ List of request headers to inspect for groups. X-Remote-Group is suggested.
|
-| --requestheader-username-headers stringSlice 默认值:[x-remote-user] |
+--requestheader-username-headers strings
+默认值: "x-remote-user" |
|
@@ -937,15 +1024,17 @@ List of request headers to inspect for usernames. X-Remote-User is common.
|
-| --scheduler-name string 默认值:"default-scheduler" |
+--scheduler-name string
+默认值:"default-scheduler" |
|
-已弃用: 调度器名称,用于根据 Pod 的 "spec.schedulerName" 选择此
+已弃用: 调度器名称,用于根据 Pod 的 “spec.schedulerName” 选择此
调度器将处理的 Pod。
+如果 --config 指定了一个配置文件,那么这个参数将被忽略
|
@@ -955,7 +1044,7 @@ DEPRECATED: name of the scheduler, used to select which pods will be processed b
|
通过身份验证和授权为 HTTPS 服务的端口。如果为 0,则根本不提供 HTTPS。
|
@@ -1001,7 +1090,7 @@ If true, avoid headers when opening log files
-| --stderrthreshold severity 默认值:2 |
+--stderrthreshold int 默认值:2 |
|
@@ -1028,15 +1117,16 @@ File containing the default x509 Certificate for HTTPS. (CA cert, if any, concat
|
-| --tls-cipher-suites stringSlice |
+--tls-cipher-suites strings |
|
服务器的密码套件列表,以逗号分隔。如果省略,将使用默认的 Go 密码套件。
优先考虑的值:
@@ -1071,18 +1161,20 @@ File containing the default x509 private key matching --tls-cert-file.
|
-| --tls-sni-cert-key namedCertKey 默认值:[] |
+--tls-sni-cert-key string |
|
-一对 x509 证书和私钥文件路径,可选地后缀为完全限定域名的域模式列表,
-并可能带有前缀的通配符段。如果未提供域名模式,则提取证书名称。
-非通配符匹配优先于通配符匹配,显式域名模式优先于提取而来的名称。
+一对 x509 证书和私钥文件路径,也可以包含由全限定域名构成的域名模式列表作为后缀,
+并可能带有前缀的通配符段。域名匹配还允许是 IP 地址,
+但是只有当 apiserver 对客户端请求的 IP 地址可见时,才能使用 IP。
+如果未提供域名匹配模式,则提取证书名称。
+非通配符匹配优先于通配符匹配,显式域名匹配优先于提取而来的名称。
若有多个密钥/证书对,可多次使用 --tls-sni-cert-key。
-例如: "example.crt,example.key" 或者 "foo.crt,foo.key:*.foo.com,foo.com"。
+例子: "example.crt,example.key" 或者 "foo.crt,foo.key:*.foo.com,foo.com"。
|
@@ -1100,7 +1192,7 @@ DEPRECATED: when set to true, scheduler will ignore policy ConfigMap and uses po
-| -v, --v Level |
+-v, --v int |
|
@@ -1124,14 +1216,14 @@ Print version information and quit
|
-| --vmodule moduleSpec |
+--vmodule <逗号分隔的 ‘模式=N’ 配置列表> |
|
-以逗号分隔的 pattern=N 设置列表,用于文件过滤的日志记录。
+以逗号分隔的 ‘模式=N’ 设置列表,用于文件过滤的日志记录。
|
diff --git a/content/zh/docs/reference/glossary/pod.md b/content/zh/docs/reference/glossary/pod.md
index 71a1494e0a..873ec90e62 100644
--- a/content/zh/docs/reference/glossary/pod.md
+++ b/content/zh/docs/reference/glossary/pod.md
@@ -40,4 +40,4 @@ tags:
A Pod is typically set up to run a single primary container. It can also run optional sidecar containers that add supplementary features like logging. Pods are commonly managed by a {{< glossary_tooltip term_id="deployment" >}}.
-->
-通常创建 Pod 是为了运行单个主容器。Pod 还可以运行可选的挂斗(sidecar)容器,以添加诸如日志记录之类的补充特性。通常用 {{< glossary_tooltip term_id="deployment" >}} 来管理 Pod。
+通常创建 Pod 是为了运行单个主容器。Pod 还可以运行可选的边车(sidecar)容器,以添加诸如日志记录之类的补充特性。通常用 {{< glossary_tooltip term_id="deployment" >}} 来管理 Pod。
diff --git a/content/zh/docs/reference/labels-annotations-taints.md b/content/zh/docs/reference/labels-annotations-taints.md
index 1c163cc056..e4b1fdfe70 100644
--- a/content/zh/docs/reference/labels-annotations-taints.md
+++ b/content/zh/docs/reference/labels-annotations-taints.md
@@ -46,6 +46,26 @@ The Kubelet populates this with `runtime.GOOS` as defined by Go. This can be han
-->
Kubelet 用 Go 定义的 `runtime.GOOS` 生成该标签的键值。在混合使用异构操作系统场景下(例如:混合使用 Linux 和 Windows 节点),此键值可以带来极大便利。
+## kubernetes.io/metadata.name
+
+示例:`kubernetes.io/metadata.name=mynamespace`
+
+用于:Namespaces
+
+
+当 `NamespaceDefaultLabelName` [特性门控](/zh/docs/reference/command-line-tools-reference/feature-gates/)
+被启用时,Kubernetes API 服务器会在所有命名空间上设置此标签。标签值被设置为命名空间的名称。
+
+如果你想使用标签 {{< glossary_tooltip text="选择器" term_id="selector" >}} 来指向特定的命名空间,这很有用。
+
## beta.kubernetes.io/arch (deprecated)
+该注解用于设置 [Pod 删除开销](/zh/docs/concepts/workloads/controllers/replicaset/#pod-deletion-cost),
+允许用户影响 ReplicaSet 的缩减顺序。该注解解析为 `int32` 类型。
+
## beta.kubernetes.io/instance-type (deprecated)
{{< note >}}
@@ -124,6 +157,22 @@ Starting in v1.17, this label is deprecated in favor of [topology.kubernetes.io/
从 v1.17 开始,此标签被弃用,取而代之的是 [topology.kubernetes.io/zone](#topologykubernetesiozone).
{{< /note >}}
+## statefulset.kubernetes.io/pod-name {#statefulsetkubernetesiopod-name}
+
+示例:`statefulset.kubernetes.io/pod-name=mystatefulset-7`
+
+
+当 StatefulSet 控制器为 StatefulSet 创建 Pod 时,控制平面会在该 Pod 上设置此标签。
+标签的值是正在创建的 Pod 的名称。
+
+更多细节请参见 StatefulSet 文章中的 [Pod 名称标签](/zh/docs/concepts/workloads/controllers/statefulset/#pod-name-label)。
+
## topology.kubernetes.io/region {#topologykubernetesioregion}
示例
@@ -316,6 +365,17 @@ Starting in v1.18, this annotation is deprecated in favor of `spec.ingressClassN
从 v1.18 开始,此注解被弃用,取而代之的是 `spec.ingressClassName`。
{{< /note >}}
+## storageclass.kubernetes.io/is-default-class
+
+示例:`storageclass.kubernetes.io/is-default-class=true`
+
+用于:StorageClass
+
+
+当单个的 StorageClass 资源将这个注解设置为 `"true"` 时,新的持久卷申领(PVC)
+资源若未指定类别,将被设定为此默认类别。
## alpha.kubernetes.io/provided-node-ip
@@ -327,14 +387,50 @@ Starting in v1.18, this annotation is deprecated in favor of `spec.ingressClassN
The kubelet can set this annotation on a Node to denote its configured IPv4 address.
When kubelet is started with the "external" cloud provider, it sets this annotation on the Node to denote an IP address set from the command line flag (`--node-ip`). This IP is verified with the cloud provider as valid by the cloud-controller-manager.
-
-**The taints listed below are always used on Nodes**
-->
kubectl 在 Node 上设置此注解,表示它的 IPv4 地址。
当 kubectl 由外部的云供应商启动时,在 Node 上设置此注解,表示由命令行标记(`--node-ip`)设置的 IP 地址。
cloud-controller-manager 向云供应商验证此 IP 是否有效。
+## batch.kubernetes.io/job-completion-index
+
+示例:`batch.kubernetes.io/job-completion-index: "3"`
+
+用于:Pod
+
+
+kube-controller-manager 中的 Job 控制器给创建使用索引
+[完成模式](/zh/docs/concepts/workloads/controllers/job/#completion-mode)
+的 Pod 设置此注解。
+
+## kubectl.kubernetes.io/default-container
+
+示例:`kubectl.kubernetes.io/default-container: "front-end-app"`
+
+
+注解的值是此 Pod 的默认容器名称。
+例如,`kubectl logs` 或 `kubectl exec` 没有 `-c` 或 `--container` 参数时,将使用这个默认的容器。
+
+## endpoints.kubernetes.io/over-capacity
+
+示例:`endpoints.kubernetes.io/over-capacity:warning`
+
+用于:Endpoints
+
+
+在 Kubernetes 集群 v1.21(或更高版本)中,如果 Endpoint 超过 1000 个,Endpoint 控制器
+就会向其添加这个注解。该注解表示 Endpoint 资源已超过容量。
+
**以下列出的污点只能用于 Node**
## node.kubernetes.io/not-ready
diff --git a/static/_redirects b/static/_redirects
index b89d7ea7af..0d95cef56f 100644
--- a/static/_redirects
+++ b/static/_redirects
@@ -184,11 +184,12 @@
/docs/home/contribute/generated-reference/kubernetes-api/ /docs/contribute/generate-ref-docs/kubernetes-api/ 301
/docs/home/contribute/generated-reference/kubernetes-components/ /docs/contribute/generate-ref-docs/kubernetes-components/ 301
/docs/home/contribute/localization/ /docs/contribute/localization/ 301
-/docs/home/contribute/page-templates/ /docs/contribute/style/page-templates/ 301
-/docs/home/contribute/participating/ /docs/contribute/participating/ 301
+/docs/home/contribute/page-templates/ /docs/contribute/style/page-content-types/ 301
+/docs/home/contribute/participating/ /docs/contribute/participate/ 301
/docs/home/contribute/review-issues/ /docs/contribute/intermediate/ 301
/docs/home/contribute/blog-post/ /docs/contribute/start/ 301
/docs/home/contribute/write-new-topic/ /docs/contribute/style/write-new-topic/ 301
+/docs/contribute/style/page-templates/ /docs/contribute/style/page-content-types/ 301
/docs/reference/command-line-tools-reference/labels-annotations-taints/ /docs/reference/labels-annotations-taints/ 301
@@ -206,6 +207,7 @@
/docs/reference/glossary/maintainer/ /docs/reference/glossary/approver/ 301
+/docs/reference/kubectl/kubectl-cmds/ /docs/reference/generated/kubectl/kubectl-commands/ 301!
/docs/reference/kubectl/kubectl/kubectl_*.md /docs/reference/generated/kubectl/kubectl-commands#:splat 301
/docs/reference/scheduling/profiles/ /docs/reference/scheduling/config/#profiles 301