modify spaces between Chinese

This commit is contained in:
jckling
2022-05-10 16:34:10 +08:00
parent 0c1e9d10fd
commit 5b49326816
10 changed files with 53 additions and 53 deletions
@@ -62,7 +62,7 @@ for an example control plane setup that runs across multiple machines.
控制平面组件可以在集群中的任何节点上运行。 控制平面组件可以在集群中的任何节点上运行。
然而,为了简单起见,设置脚本通常会在同一个计算机上启动所有控制平面组件, 然而,为了简单起见,设置脚本通常会在同一个计算机上启动所有控制平面组件,
并且不会在此计算机上运行用户容器。 并且不会在此计算机上运行用户容器。
请参阅 [使用 kubeadm 构建高可用性集群](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/) 请参阅[使用 kubeadm 构建高可用性集群](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/)
中关于跨多机器控制平面设置的示例。 中关于跨多机器控制平面设置的示例。
### kube-apiserver ### kube-apiserver
@@ -189,7 +189,7 @@ Containers started by Kubernetes automatically include this DNS server in their
### DNS {#dns} ### DNS {#dns}
尽管其他插件都并非严格意义上的必需组件,但几乎所有 Kubernetes 集群都应该 尽管其他插件都并非严格意义上的必需组件,但几乎所有 Kubernetes 集群都应该
[集群 DNS](/zh/docs/concepts/services-networking/dns-pod-service/) 有[集群 DNS](/zh/docs/concepts/services-networking/dns-pod-service/)
因为很多示例都需要 DNS 服务。 因为很多示例都需要 DNS 服务。
集群 DNS 是一个 DNS 服务器,和环境中的其他 DNS 服务器一起工作,它为 Kubernetes 服务提供 DNS 记录。 集群 DNS 是一个 DNS 服务器,和环境中的其他 DNS 服务器一起工作,它为 Kubernetes 服务提供 DNS 记录。
@@ -237,7 +237,7 @@ saving container logs to a central log store with search/browsing interface.
* Learn about [kube-scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/) * Learn about [kube-scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/)
* Read etcd's official [documentation](https://etcd.io/docs/) * Read etcd's official [documentation](https://etcd.io/docs/)
--> -->
* 进一步了解 [节点](/zh/docs/concepts/architecture/nodes/) * 进一步了解[节点](/zh/docs/concepts/architecture/nodes/)
* 进一步了解 [控制器](/zh/docs/concepts/architecture/controller/) * 进一步了解[控制器](/zh/docs/concepts/architecture/controller/)
* 进一步了解 [kube-scheduler](/zh/docs/concepts/scheduling-eviction/kube-scheduler/) * 进一步了解 [kube-scheduler](/zh/docs/concepts/scheduling-eviction/kube-scheduler/)
* 阅读 etcd 官方 [文档](https://etcd.io/docs/) * 阅读 etcd 官方[文档](https://etcd.io/docs/)
@@ -44,7 +44,7 @@ Consider using one of the [client libraries](/docs/reference/using-api/client-li
if you are writing an application using the Kubernetes API. if you are writing an application using the Kubernetes API.
--> -->
如果你正在编写程序来访问 Kubernetes API,可以考虑使用 如果你正在编写程序来访问 Kubernetes API,可以考虑使用
[客户端库](/zh/docs/reference/using-api/client-libraries/) 之一。 [客户端库](/zh/docs/reference/using-api/client-libraries/)之一。
<!-- body --> <!-- body -->
@@ -157,7 +157,7 @@ for the kube-apiserver component.
Kubernetes v1.23 提供将其 API 以 OpenAPI v3 形式发布的初始支持;这一功能特性处于 Alpha Kubernetes v1.23 提供将其 API 以 OpenAPI v3 形式发布的初始支持;这一功能特性处于 Alpha
状态,默认被禁用。 状态,默认被禁用。
你可以通过为 kube-apiserver 组件启用 `OpenAPIV3` 你可以通过为 kube-apiserver 组件启用 `OpenAPIV3`
[特性门控](/zh/docs/reference/command-line-tools-reference/feature-gates/) 来启用此 [特性门控](/zh/docs/reference/command-line-tools-reference/feature-gates/)来启用此
Alpha 特性。 Alpha 特性。
<!-- <!--
@@ -260,7 +260,7 @@ Refer to [API versions reference](/docs/reference/using-api/#api-versioning)
for more details on the API version level definitions. for more details on the API version level definitions.
--> -->
关于 API 版本分级的定义细节,请参阅 关于 API 版本分级的定义细节,请参阅
[API 版本参考](/zh/docs/reference/using-api/#api-versioning) 页面。 [API 版本参考](/zh/docs/reference/using-api/#api-versioning)页面。
<!-- <!--
## API Extension ## API Extension
@@ -277,7 +277,7 @@ The Kubernetes API can be extended in one of two ways:
1. You can also extend the Kubernetes API by implementing an 1. You can also extend the Kubernetes API by implementing an
[aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/). [aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/).
--> -->
1. 你可以使用 [自定义资源](/zh/docs/concepts/extend-kubernetes/api-extension/custom-resources/) 1. 你可以使用[自定义资源](/zh/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
来以声明式方式定义 API 服务器如何提供你所选择的资源 API。 来以声明式方式定义 API 服务器如何提供你所选择的资源 API。
1. 你也可以选择实现自己的 1. 你也可以选择实现自己的
[聚合层](/zh/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) [聚合层](/zh/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/)
@@ -298,9 +298,9 @@ The Kubernetes API can be extended in one of two ways:
- 了解如何通过添加你自己的 - 了解如何通过添加你自己的
[CustomResourceDefinition](/zh/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/) [CustomResourceDefinition](/zh/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/)
来扩展 Kubernetes API。 来扩展 Kubernetes API。
- [控制 Kubernetes API 访问](/zh/docs/concepts/security/controlling-access/) 页面描述了集群如何针对 - [控制 Kubernetes API 访问](/zh/docs/concepts/security/controlling-access/)页面描述了集群如何针对
API 访问管理身份认证和鉴权。 API 访问管理身份认证和鉴权。
- 通过阅读 [API 参考](/zh/docs/reference/kubernetes-api/) 了解 API 端点、资源类型以及示例。 - 通过阅读 [API 参考](/zh/docs/reference/kubernetes-api/)了解 API 端点、资源类型以及示例。
- 阅读 [API 变更(英文)](https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md#readme) - 阅读 [API 变更(英文)](https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md#readme)
以了解什么是兼容性的变更以及如何变更 API。 以了解什么是兼容性的变更以及如何变更 API。
@@ -163,5 +163,5 @@ spec:
<!-- <!--
* Learn more about [Labels and Selectors](/docs/concepts/overview/working-with-objects/labels/). * Learn more about [Labels and Selectors](/docs/concepts/overview/working-with-objects/labels/).
--> -->
* 进一步了解 [标签和选择算符](/zh/docs/concepts/overview/working-with-objects/labels/)。 * 进一步了解[标签和选择算符](/zh/docs/concepts/overview/working-with-objects/labels/)。
@@ -31,7 +31,7 @@ kubectl get pods --field-selector status.phase=Running
Field selectors are essentially resource *filters*. By default, no selectors/filters are applied, meaning that all resources of the specified type are selected. This makes the following `kubectl` queries equivalent: Field selectors are essentially resource *filters*. By default, no selectors/filters are applied, meaning that all resources of the specified type are selected. This makes the following `kubectl` queries equivalent:
--> -->
{{< note >}} {{< note >}}
字段选择器本质上是资源 *过滤器(Filters*。默认情况下,字段选择器/过滤器是未被应用的, 字段选择器本质上是资源过滤器(Filters。默认情况下,字段选择器/过滤器是未被应用的,
这意味着指定类型的所有资源都会被筛选出来。 这意味着指定类型的所有资源都会被筛选出来。
这使得以下的两个 `kubectl` 查询是等价的: 这使得以下的两个 `kubectl` 查询是等价的:
@@ -81,7 +81,7 @@ As with [label](/docs/concepts/overview/working-with-objects/labels) and other s
--> -->
## 链式选择器 {#chained-selectors} ## 链式选择器 {#chained-selectors}
[标签](/zh/docs/concepts/overview/working-with-objects/labels/) 和其他选择器一样, 同[标签](/zh/docs/concepts/overview/working-with-objects/labels/)和其他选择器一样,
字段选择器可以通过使用逗号分隔的列表组成一个选择链。 字段选择器可以通过使用逗号分隔的列表组成一个选择链。
下面这个 `kubectl` 命令将筛选 `status.phase` 字段不等于 `Running` 同时 下面这个 `kubectl` 命令将筛选 `status.phase` 字段不等于 `Running` 同时
`spec.restartPolicy` 字段等于 `Always` 的所有 Pod `spec.restartPolicy` 字段等于 `Always` 的所有 Pod
@@ -13,9 +13,9 @@ You can use finalizers to control {{<glossary_tooltip text="garbage collection"
of resources by alerting {{<glossary_tooltip text="controllers" term_id="controller">}} to perform specific cleanup tasks before of resources by alerting {{<glossary_tooltip text="controllers" term_id="controller">}} to perform specific cleanup tasks before
deleting the target resource. deleting the target resource.
--> -->
你可以通过使用 Finalizers 提醒 {{<glossary_tooltip text="控制器" term_id="controller">}} 你可以通过使用 Finalizers 提醒{{<glossary_tooltip text="控制器" term_id="controller">}}
在删除目标资源前执行特定的清理任务, 在删除目标资源前执行特定的清理任务,
来控制资源的 {{<glossary_tooltip text="垃圾收集" term_id="garbage-collection">}}。 来控制资源的{{<glossary_tooltip text="垃圾收集" term_id="garbage-collection">}}。
<!-- <!--
Finalizers don't usually specify the code to execute. Instead, they are Finalizers don't usually specify the code to execute. Instead, they are
@@ -98,10 +98,10 @@ any Pods in the cluster with the same label.
--> -->
## 属主引用、标签和 Finalizers {#owners-labels-finalizers} ## 属主引用、标签和 Finalizers {#owners-labels-finalizers}
{{<glossary_tooltip text="标签" term_id="label">}} 类似, 与{{<glossary_tooltip text="标签" term_id="label">}}类似,
[属主引用](/zh/concepts/overview/working-with-objects/owners-dependents/) [属主引用](/zh/concepts/overview/working-with-objects/owners-dependents/)
描述了 Kubernetes 中对象之间的关系,但它们作用不同。 描述了 Kubernetes 中对象之间的关系,但它们作用不同。
当一个 {{<glossary_tooltip text="控制器" term_id="controller">}} 当一个{{<glossary_tooltip text="控制器" term_id="controller">}}
管理类似于 Pod 的对象时,它使用标签来跟踪相关对象组的变化。 管理类似于 Pod 的对象时,它使用标签来跟踪相关对象组的变化。
例如,当 {{<glossary_tooltip text="Job" term_id="job">}} 创建一个或多个 Pod 时, 例如,当 {{<glossary_tooltip text="Job" term_id="job">}} 创建一个或多个 Pod 时,
Job 控制器会给这些 Pod 应用上标签,并跟踪集群中的具有相同标签的 Pod 的变化。 Job 控制器会给这些 Pod 应用上标签,并跟踪集群中的具有相同标签的 Pod 的变化。
@@ -121,7 +121,7 @@ longer than expected without being fully deleted. In these situations, you
should check finalizers and owner references on the target owner and dependent should check finalizers and owner references on the target owner and dependent
objects to troubleshoot the cause. objects to troubleshoot the cause.
--> -->
Job 控制器还为这些 Pod 添加了 *属主引用*,指向创建 Pod 的 Job。 Job 控制器还为这些 Pod 添加了“属主引用”,指向创建 Pod 的 Job。
如果你在这些 Pod 运行的时候删除了 Job, 如果你在这些 Pod 运行的时候删除了 Job,
Kubernetes 会使用属主引用(而不是标签)来确定集群中哪些 Pod 需要清理。 Kubernetes 会使用属主引用(而不是标签)来确定集群中哪些 Pod 需要清理。
@@ -153,5 +153,5 @@ Finalizers 通常因为特殊原因被添加到资源上,所以强行删除它
* Read [Using Finalizers to Control Deletion](/blog/2021/05/14/using-finalizers-to-control-deletion/) * Read [Using Finalizers to Control Deletion](/blog/2021/05/14/using-finalizers-to-control-deletion/)
on the Kubernetes blog. on the Kubernetes blog.
--> -->
* 在 Kubernetes 博客上阅读 [使用 Finalizers 控制删除](/blog/2021/05/14/using-finalizers-to-control-deletion/)。 * 在 Kubernetes 博客上阅读[使用 Finalizers 控制删除](/blog/2021/05/14/using-finalizers-to-control-deletion/)。
@@ -55,7 +55,7 @@ Kubernetes 对象是 “目标性记录” —— 一旦创建对象,Kubernete
[Kubernetes API](/zh/docs/concepts/overview/kubernetes-api)。 [Kubernetes API](/zh/docs/concepts/overview/kubernetes-api)。
比如,当使用 `kubectl` 命令行接口时,CLI 会执行必要的 Kubernetes API 调用, 比如,当使用 `kubectl` 命令行接口时,CLI 会执行必要的 Kubernetes API 调用,
也可以在程序中使用 也可以在程序中使用
[客户端库](/zh/docs/reference/using-api/client-libraries/) 直接调用 Kubernetes API。 [客户端库](/zh/docs/reference/using-api/client-libraries/)直接调用 Kubernetes API。
<!-- <!--
### Object Spec and Status ### Object Spec and Status
@@ -199,7 +199,7 @@ detail the structure of that `.status` field, and its content for each different
另一个对象规约的例子是 StatefulSet API 中的 另一个对象规约的例子是 StatefulSet API 中的
[`spec` 字段](/docs/reference/kubernetes-api/workload-resources/stateful-set-v1/#StatefulSetSpec)。 [`spec` 字段](/docs/reference/kubernetes-api/workload-resources/stateful-set-v1/#StatefulSetSpec)。
对于 StatefulSet 而言,其 `.spec` 字段设置了 StatefulSet 及其期望状态。 对于 StatefulSet 而言,其 `.spec` 字段设置了 StatefulSet 及其期望状态。
在 StatefulSet 的 `.spec` 内,有一个为 Pod 对象提供的 [模板](/zh/docs/concepts/workloads/pods/#pod-templates)。该模板描述了 StatefulSet 控制器为了满足 StatefulSet 规约而要创建的 Pod。 在 StatefulSet 的 `.spec` 内,有一个为 Pod 对象提供的[模板](/zh/docs/concepts/workloads/pods/#pod-templates)。该模板描述了 StatefulSet 控制器为了满足 StatefulSet 规约而要创建的 Pod。
不同类型的对象可以由不同的 `.status` 信息。API 参考页面给出了 `.status` 字段的详细结构, 不同类型的对象可以由不同的 `.status` 信息。API 参考页面给出了 `.status` 字段的详细结构,
以及针对不同类型 API 对象的具体内容。 以及针对不同类型 API 对象的具体内容。
@@ -211,6 +211,6 @@ detail the structure of that `.status` field, and its content for each different
* [Using the Kubernetes API](/docs/reference/using-api/) explains some more API concepts. * [Using the Kubernetes API](/docs/reference/using-api/) explains some more API concepts.
--> -->
* 了解最重要的 Kubernetes 基本对象,例如 [Pod](/zh/docs/concepts/workloads/pods/)。 * 了解最重要的 Kubernetes 基本对象,例如 [Pod](/zh/docs/concepts/workloads/pods/)。
* 了解 Kubernetes 中的 [控制器](/zh/docs/concepts/architecture/controller/)。 * 了解 Kubernetes 中的[控制器](/zh/docs/concepts/architecture/controller/)。
* [使用 Kubernetes API](/zh/docs/reference/using-api/) 一节解释了一些 API 概念。 * [使用 Kubernetes API](/zh/docs/reference/using-api/) 一节解释了一些 API 概念。
@@ -40,7 +40,7 @@ and CLIs. Non-identifying information should be recorded using
[annotations](/docs/concepts/overview/working-with-objects/annotations/). [annotations](/docs/concepts/overview/working-with-objects/annotations/).
--> -->
标签能够支持高效的查询和监听操作,对于用户界面和命令行是很理想的。 标签能够支持高效的查询和监听操作,对于用户界面和命令行是很理想的。
应使用 [注解](/zh/docs/concepts/overview/working-with-objects/annotations/) 记录非识别信息。 应使用[注解](/zh/docs/concepts/overview/working-with-objects/annotations/)记录非识别信息。
<!-- body --> <!-- body -->
@@ -72,7 +72,7 @@ Example labels:
<!-- <!--
These are examples of [commonly used labels](/docs/concepts/overview/working-with-objects/common-labels/); you are free to develop your own conventions. Keep in mind that label Key must be unique for a given object. These are examples of [commonly used labels](/docs/concepts/overview/working-with-objects/common-labels/); you are free to develop your own conventions. Keep in mind that label Key must be unique for a given object.
--> -->
有一些 [常用标签](/zh/docs/concepts/overview/working-with-objects/common-labels/) 的例子;你可以任意制定自己的约定。 有一些[常用标签](/zh/docs/concepts/overview/working-with-objects/common-labels/)的例子;你可以任意制定自己的约定。
请记住,标签的 Key 对于给定对象必须是唯一的。 请记住,标签的 Key 对于给定对象必须是唯一的。
<!-- <!--
@@ -96,7 +96,7 @@ _标签_ 是键值对。有效的标签键有两个段:可选的前缀和名
向最终用户对象添加标签的自动系统组件(例如 `kube-scheduler``kube-controller-manager` 向最终用户对象添加标签的自动系统组件(例如 `kube-scheduler``kube-controller-manager`
`kube-apiserver``kubectl` 或其他第三方自动化工具)必须指定前缀。 `kube-apiserver``kubectl` 或其他第三方自动化工具)必须指定前缀。
`kubernetes.io/``k8s.io/` 前缀是为 Kubernetes 核心组件 [保留的](/zh/docs/reference/labels-annotations-taints/)。 `kubernetes.io/``k8s.io/` 前缀是为 Kubernetes 核心组件[保留的](/zh/docs/reference/labels-annotations-taints/)。
<!-- <!--
Valid label value: Valid label value:
@@ -118,7 +118,7 @@ Unlike [names and UIDs](/docs/user-guide/identifiers), labels do not provide uni
--> -->
## 标签选择算符 {#label-selectors} ## 标签选择算符 {#label-selectors}
[名称和 UID](/zh/docs/concepts/overview/working-with-objects/names/) 不同, 与[名称和 UID](/zh/docs/concepts/overview/working-with-objects/names/) 不同,
标签不支持唯一性。通常,我们希望许多对象携带相同的标签。 标签不支持唯一性。通常,我们希望许多对象携带相同的标签。
<!-- <!--
@@ -400,5 +400,5 @@ See the documentation on [node selection](/docs/concepts/configuration/assign-po
#### 选择节点集 #### 选择节点集
通过标签进行选择的一个用例是确定节点集,方便 Pod 调度。 通过标签进行选择的一个用例是确定节点集,方便 Pod 调度。
有关更多信息,请参阅 [选择节点](/zh/docs/concepts/scheduling-eviction/assign-pod-node/) 文档。 有关更多信息,请参阅[选择节点](/zh/docs/concepts/scheduling-eviction/assign-pod-node/)文档。
@@ -13,19 +13,19 @@ Every Kubernetes object also has a [_UID_](#uids) that is unique across your who
For example, you can only have one Pod named `myapp-1234` within the same [namespace](/docs/concepts/overview/working-with-objects/namespaces/), but you can have one Pod and one Deployment that are each named `myapp-1234`. For example, you can only have one Pod named `myapp-1234` within the same [namespace](/docs/concepts/overview/working-with-objects/namespaces/), but you can have one Pod and one Deployment that are each named `myapp-1234`.
--> -->
集群中的每一个对象都有一个 [_名称_](#names) 来标识在同类资源中的唯一性。 集群中的每一个对象都有一个[_名称_](#names)来标识在同类资源中的唯一性。
每个 Kubernetes 对象也有一个 [_UID_](#uids) 来标识在整个集群中的唯一性。 每个 Kubernetes 对象也有一个 [_UID_](#uids) 来标识在整个集群中的唯一性。
比如,在同一个 [名字空间](/zh/docs/concepts/overview/working-with-objects/namespaces/) 比如,在同一个[名字空间](/zh/docs/concepts/overview/working-with-objects/namespaces/)
中有一个名为 `myapp-1234` 的 Pod,但是可以命名一个 Pod 和一个 Deployment 同为 `myapp-1234` 中有一个名为 `myapp-1234` 的 Pod,但是可以命名一个 Pod 和一个 Deployment 同为 `myapp-1234`
<!-- <!--
For non-unique user-provided attributes, Kubernetes provides [labels](/docs/user-guide/labels) and [annotations](/docs/concepts/overview/working-with-objects/annotations/). For non-unique user-provided attributes, Kubernetes provides [labels](/docs/user-guide/labels) and [annotations](/docs/concepts/overview/working-with-objects/annotations/).
--> -->
对于用户提供的非唯一性的属性,Kubernetes 提供了 对于用户提供的非唯一性的属性,Kubernetes 提供了
[标签(Labels](/zh/docs/concepts/working-with-objects/labels) [标签(Labels](/zh/docs/concepts/working-with-objects/labels)和
[注解(Annotation](/zh/docs/concepts/overview/working-with-objects/annotations/) 机制。 [注解(Annotation](/zh/docs/concepts/overview/working-with-objects/annotations/)机制。
<!-- body --> <!-- body -->
@@ -69,7 +69,7 @@ This means the name must:
DNS 子域名的定义可参见 [RFC 1123](https://tools.ietf.org/html/rfc1123)。 DNS 子域名的定义可参见 [RFC 1123](https://tools.ietf.org/html/rfc1123)。
这一要求意味着名称必须满足如下规则: 这一要求意味着名称必须满足如下规则:
- 不能超过253个字符 - 不能超过 253 个字符
- 只能包含小写字母、数字,以及 '-' 和 '.' - 只能包含小写字母、数字,以及 '-' 和 '.'
- 必须以字母数字开头 - 必须以字母数字开头
- 必须以字母数字结尾 - 必须以字母数字结尾
@@ -174,6 +174,6 @@ UUIDs 是标准化的,见 ISO/IEC 9834-8 和 ITU-T X.667。
* See the [Identifiers and Names in Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) design document. * See the [Identifiers and Names in Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) design document.
--> -->
* 进一步了解 Kubernetes [标签](/zh/docs/concepts/overview/working-with-objects/labels/) * 进一步了解 Kubernetes [标签](/zh/docs/concepts/overview/working-with-objects/labels/)
* 参阅 [Kubernetes 标识符和名称](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) 的设计文档 * 参阅 [Kubernetes 标识符和名称](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md)的设计文档
@@ -18,7 +18,7 @@ weight: 30
<!-- <!--
In Kubernetes, _namespaces_ provides a mechanism for isolating groups of resources within a single cluster. Names of resources need to be unique within a namespace, but not across namespaces. Namespace-based scoping is applicable only for namespaced objects _(e.g. Deployments, Services, etc)_ and not for cluster-wide objects _(e.g. StorageClass, Nodes, PersistentVolumes, etc)_. In Kubernetes, _namespaces_ provides a mechanism for isolating groups of resources within a single cluster. Names of resources need to be unique within a namespace, but not across namespaces. Namespace-based scoping is applicable only for namespaced objects _(e.g. Deployments, Services, etc)_ and not for cluster-wide objects _(e.g. StorageClass, Nodes, PersistentVolumes, etc)_.
--> -->
在 Kubernetes 中,_名字空间(Namespace_ 提供一种机制,将同一集群中的资源划分为相互隔离的组。 在 Kubernetes 中,名字空间(Namespace提供一种机制,将同一集群中的资源划分为相互隔离的组。
同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。 同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。
名字空间作用域仅针对带有名字空间的对象,例如 Deployment、Service 等, 名字空间作用域仅针对带有名字空间的对象,例如 Deployment、Service 等,
这种作用域对集群访问的对象不适用,例如 StorageClass、Node、PersistentVolume 等。 这种作用域对集群访问的对象不适用,例如 StorageClass、Node、PersistentVolume 等。
@@ -49,7 +49,7 @@ resource can only be in one namespace.
<!-- <!--
Namespaces are a way to divide cluster resources between multiple users (via [resource quota](/docs/concepts/policy/resource-quotas/)). Namespaces are a way to divide cluster resources between multiple users (via [resource quota](/docs/concepts/policy/resource-quotas/)).
--> -->
名字空间是在多个用户之间划分集群资源的一种方法(通过 [资源配额](/zh/docs/concepts/policy/resource-quotas/))。 名字空间是在多个用户之间划分集群资源的一种方法(通过[资源配额](/zh/docs/concepts/policy/resource-quotas/))。
<!-- <!--
It is not necessary to use multiple namespaces to separate slightly different It is not necessary to use multiple namespaces to separate slightly different
@@ -58,7 +58,7 @@ resources, such as different versions of the same software: use
resources within the same namespace. resources within the same namespace.
--> -->
不必使用多个名字空间来分隔仅仅轻微不同的资源,例如同一软件的不同版本: 不必使用多个名字空间来分隔仅仅轻微不同的资源,例如同一软件的不同版本:
应该使用 {{< glossary_tooltip text="标签" term_id="label" >}} 应该使用{{< glossary_tooltip text="标签" term_id="label" >}}
来区分同一名字空间中的不同资源。 来区分同一名字空间中的不同资源。
<!-- <!--
@@ -69,7 +69,7 @@ for namespaces](/docs/tasks/administer-cluster/namespaces/).
--> -->
## 使用名字空间 ## 使用名字空间
名字空间的创建和删除在 [名字空间的管理指南文档](/zh/docs/tasks/administer-cluster/namespaces/) 描述。 名字空间的创建和删除在[名字空间的管理指南文档](/zh/docs/tasks/administer-cluster/namespaces/)描述。
<!-- <!--
Avoid creating namespaces with the prefix `kube-`, since it is reserved for Kubernetes system namespaces. Avoid creating namespaces with the prefix `kube-`, since it is reserved for Kubernetes system namespaces.
@@ -117,8 +117,8 @@ Kubernetes 会创建四个初始名字空间:
这个名字空间主要用于集群使用,以防某些资源在整个集群中应该是可见和可读的。 这个名字空间主要用于集群使用,以防某些资源在整个集群中应该是可见和可读的。
这个名字空间的公共方面只是一种约定,而不是要求。 这个名字空间的公共方面只是一种约定,而不是要求。
* `kube-node-lease` 此名字空间用于与各个节点相关的 * `kube-node-lease` 此名字空间用于与各个节点相关的
[租约(Lease](/docs/reference/kubernetes-api/cluster-resources/lease-v1/) 对象。 [租约(Lease](/docs/reference/kubernetes-api/cluster-resources/lease-v1/)对象。
节点租期允许 kubelet 发送 [心跳](/zh/docs/concepts/architecture/nodes/#heartbeats),由此控制面能够检测到节点故障。 节点租期允许 kubelet 发送[心跳](/zh/docs/concepts/architecture/nodes/#heartbeats),由此控制面能够检测到节点故障。
<!-- <!--
### Setting the namespace for a request ### Setting the namespace for a request
@@ -161,7 +161,7 @@ When you create a [Service](/docs/user-guide/services), it creates a correspondi
--> -->
## 名字空间和 DNS ## 名字空间和 DNS
当你创建一个 [服务](/zh/docs/concepts/services-networking/service/) 时, 当你创建一个[服务](/zh/docs/concepts/services-networking/service/)时,
Kubernetes 会创建一个相应的 [DNS 条目](/zh/docs/concepts/services-networking/dns-pod-service/)。 Kubernetes 会创建一个相应的 [DNS 条目](/zh/docs/concepts/services-networking/dns-pod-service/)。
<!-- <!--
@@ -190,7 +190,7 @@ namespaces can have short DNS names that overlap with public DNS records.
Workloads from any namespace performing a DNS lookup without a [trailing dot](https://datatracker.ietf.org/doc/html/rfc1034#page-8) will Workloads from any namespace performing a DNS lookup without a [trailing dot](https://datatracker.ietf.org/doc/html/rfc1034#page-8) will
be redirected to those services, taking precedence over public DNS. be redirected to those services, taking precedence over public DNS.
--> -->
通过创建与 [公共顶级域名](https://data.iana.org/TLD/tlds-alpha-by-domain.txt) 通过创建与[公共顶级域名](https://data.iana.org/TLD/tlds-alpha-by-domain.txt)
同名的名字空间,这些名字空间中的服务可以拥有与公共 DNS 记录重叠的、较短的 DNS 名称。 同名的名字空间,这些名字空间中的服务可以拥有与公共 DNS 记录重叠的、较短的 DNS 名称。
所有名字空间中的负载在执行 DNS 查找时,如果查找的名称没有 所有名字空间中的负载在执行 DNS 查找时,如果查找的名称没有
[尾部句点](https://datatracker.ietf.org/doc/html/rfc1034#page-8) [尾部句点](https://datatracker.ietf.org/doc/html/rfc1034#page-8)
@@ -224,7 +224,7 @@ persistentVolumes, are not in any namespace.
--> -->
大多数 kubernetes 资源(例如 Pod、Service、副本控制器等)都位于某些名字空间中。 大多数 kubernetes 资源(例如 Pod、Service、副本控制器等)都位于某些名字空间中。
但是名字空间资源本身并不在名字空间中。而且底层资源,例如 但是名字空间资源本身并不在名字空间中。而且底层资源,例如
[节点](/zh/docs/concepts/architecture/nodes/) 和持久化卷不属于任何名字空间。 [节点](/zh/docs/concepts/architecture/nodes/)和持久化卷不属于任何名字空间。
<!-- <!--
To see which Kubernetes resources are and aren't in a namespace: To see which Kubernetes resources are and aren't in a namespace:
@@ -264,5 +264,5 @@ Kubernetes 控制面会为所有名字空间设置一个不可变更的
* Learn more about [creating a new namespace](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace). * Learn more about [creating a new namespace](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace).
* Learn more about [deleting a namespace](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace). * Learn more about [deleting a namespace](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace).
--> -->
* 进一步了解 [建立新的名字空间](/zh/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace)。 * 进一步了解[建立新的名字空间](/zh/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace)。
* 进一步了解 [删除名字空间](/zh/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace)。 * 进一步了解[删除名字空间](/zh/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace)。
@@ -18,9 +18,9 @@ In Kubernetes, some objects are *owners* of other objects. For example, a
of their owner. of their owner.
--> -->
在 Kubernetes 中,一些对象是其他对象的 *属主(Owner* 在 Kubernetes 中,一些对象是其他对象的属主(Owner
例如,{{<glossary_tooltip text="ReplicaSet" term_id="replica-set">}} 是一组 Pod 的属主。 例如,{{<glossary_tooltip text="ReplicaSet" term_id="replica-set">}} 是一组 Pod 的属主。
具有属主的对象是属主的 *附属(Dependent* 具有属主的对象是属主的附属(Dependent
<!-- <!--
Ownership is different from the [labels and selectors](/docs/concepts/overview/working-with-objects/labels/) Ownership is different from the [labels and selectors](/docs/concepts/overview/working-with-objects/labels/)
@@ -31,7 +31,7 @@ to the labels, each `EndpointSlice` that is managed on behalf of a Service has
an owner reference. Owner references help different parts of Kubernetes avoid an owner reference. Owner references help different parts of Kubernetes avoid
interfering with objects they dont control. interfering with objects they dont control.
--> -->
属主关系不同于一些资源使用的 [标签和选择算符](/zh/docs/concepts/overview/working-with-objects/labels/) 机制。 属主关系不同于一些资源使用的[标签和选择算符](/zh/docs/concepts/overview/working-with-objects/labels/)机制。
例如,有一个创建 `EndpointSlice` 对象的 Service 例如,有一个创建 `EndpointSlice` 对象的 Service
该 Service 使用标签来让控制平面确定,哪些 `EndpointSlice` 对象属于该 Service。 该 Service 使用标签来让控制平面确定,哪些 `EndpointSlice` 对象属于该 Service。
除开标签,每个代表 Service 所管理的 `EndpointSlice` 都有一个属主引用。 除开标签,每个代表 Service 所管理的 `EndpointSlice` 都有一个属主引用。
@@ -74,7 +74,7 @@ prevents unauthorized users from delaying owner object deletion.
--> -->
附属对象还有一个 `ownerReferences.blockOwnerDeletion` 字段,该字段使用布尔值, 附属对象还有一个 `ownerReferences.blockOwnerDeletion` 字段,该字段使用布尔值,
用于控制特定的附属对象是否可以阻止垃圾收集删除其属主对象。 用于控制特定的附属对象是否可以阻止垃圾收集删除其属主对象。
如果 {{<glossary_tooltip text="控制器" term_id="controller">}}(例如 Deployment 控制器) 如果{{<glossary_tooltip text="控制器" term_id="controller">}}(例如 Deployment 控制器)
设置了 `metadata.ownerReferences` 字段的值,Kubernetes 会自动设置 设置了 `metadata.ownerReferences` 字段的值,Kubernetes 会自动设置
`blockOwnerDeletion` 的值为 `true` `blockOwnerDeletion` 的值为 `true`
你也可以手动设置 `blockOwnerDeletion` 字段的值,以控制哪些附属对象会阻止垃圾收集。 你也可以手动设置 `blockOwnerDeletion` 字段的值,以控制哪些附属对象会阻止垃圾收集。
@@ -99,7 +99,7 @@ You can check for that kind of Event by running
--> -->
根据设计,kubernetes 不允许跨名字空间指定属主。 根据设计,kubernetes 不允许跨名字空间指定属主。
名字空间范围的附属可以指定集群范围的或者名字空间范围的属主。 名字空间范围的附属可以指定集群范围的或者名字空间范围的属主。
名字空间范围的属主 **必须** 和该附属处于相同的名字空间。 名字空间范围的属主**必须**和该附属处于相同的名字空间。
如果名字空间范围的属主和附属不在相同的名字空间,那么该属主引用就会被认为是缺失的, 如果名字空间范围的属主和附属不在相同的名字空间,那么该属主引用就会被认为是缺失的,
并且当附属的所有属主引用都被确认不再存在之后,该附属就会被删除。 并且当附属的所有属主引用都被确认不再存在之后,该附属就会被删除。
@@ -150,7 +150,7 @@ specify an orphan deletion policy, Kubernetes adds the `orphan` finalizer so
that the controller ignores dependent resources after it deletes the owner that the controller ignores dependent resources after it deletes the owner
object. object.
--> -->
当你使用 [前台或孤立级联删除](/zh/docs/concepts/architecture/garbage-collection/#cascading-deletion) 时, 当你使用[前台或孤立级联删除](/zh/docs/concepts/architecture/garbage-collection/#cascading-deletion)时,
Kubernetes 也会向属主资源添加 Finalizer。 Kubernetes 也会向属主资源添加 Finalizer。
在前台删除中,会添加 `foreground` Finalizer,这样控制器必须在删除了拥有 在前台删除中,会添加 `foreground` Finalizer,这样控制器必须在删除了拥有
`ownerReferences.blockOwnerDeletion=true` 的附属资源后,才能删除属主对象。 `ownerReferences.blockOwnerDeletion=true` 的附属资源后,才能删除属主对象。
@@ -165,5 +165,5 @@ Kubernetes 也会向属主资源添加 Finalizer。
* Read the API reference for [object metadata](/docs/reference/kubernetes-api/common-definitions/object-meta/#System). * Read the API reference for [object metadata](/docs/reference/kubernetes-api/common-definitions/object-meta/#System).
--> -->
* 了解更多关于 [Kubernetes Finalizer](/zh/docs/concepts/overview/working-with-objects/finalizers/)。 * 了解更多关于 [Kubernetes Finalizer](/zh/docs/concepts/overview/working-with-objects/finalizers/)。
* 了解关于 [垃圾收集](/zh/docs/concepts/architecture/garbage-collection)。 * 了解关于[垃圾收集](/zh/docs/concepts/architecture/garbage-collection)。
* 阅读 [对象元数据](/docs/reference/kubernetes-api/common-definitions/object-meta/#System) 的 API 参考文档。 * 阅读[对象元数据](/docs/reference/kubernetes-api/common-definitions/object-meta/#System)的 API 参考文档。