2
2
title : Kubernetes 组件
3
3
content_type : concept
4
4
description : >
5
- Kubernetes 集群由控制平面的组件和一组称为节点的机器组成 。
5
+ 组成 Kubernetes 集群的关键组件概述 。
6
6
weight : 30
7
7
card :
8
8
title : 集群组件
@@ -15,8 +15,7 @@ reviewers:
15
15
title: Kubernetes Components
16
16
content_type: concept
17
17
description: >
18
- A Kubernetes cluster consists of the components that are a part of the control
19
- plane and a set of machines called nodes.
18
+ An overview of the key components that make up a Kubernetes cluster.
20
19
weight: 30
21
20
card:
22
21
title: Components of a cluster
@@ -27,256 +26,145 @@ card:
27
26
<!-- overview -->
28
27
29
28
<!--
30
- When you deploy Kubernetes, you get a cluster.
31
- {{ < glossary_definition term_id="cluster" length="all" prepend="A Kubernetes cluster consists of">}}
32
-
33
- This document outlines the various components you need to have for
34
- a complete and working Kubernetes cluster.
29
+ 本页面概述了组成 Kubernetes 集群的基本组件。
35
30
36
31
{{ < figure src="/images/docs/components-of-kubernetes.svg" alt="Components of Kubernetes" caption="The components of a Kubernetes cluster" class="diagram-large" clicktozoom="true" >}}
37
32
-->
38
- 当你部署完 Kubernetes,便拥有了一个完整的集群。
39
-
40
- {{< glossary_definition term_id="cluster" length="all" >}}
41
-
42
33
本文档概述了一个正常运行的 Kubernetes 集群所需的各种组件。
43
34
44
35
{{< figure src="/images/docs/components-of-kubernetes.svg" alt="Kubernetes 的组件" caption="Kubernetes 集群的组件" class="diagram-large" clicktozoom="true" >}}
45
36
46
37
<!-- body -->
47
38
48
39
<!--
49
- ## Control Plane Components
50
-
51
- The control plane's components make global decisions about the cluster (for example, scheduling),
52
- as well as detecting and responding to cluster events (for example, starting up a new
53
- {{< glossary_tooltip text="pod" term_id="pod">}} when a deployment's
54
- `{{< glossary_tooltip text="replicas" term_id="replica" >}}` field is unsatisfied).
55
- -->
56
- ## 控制平面组件(Control Plane Components) {#control-plane-components}
40
+ ## Core Components
57
41
58
- 控制平面组件会为集群做出全局决策,比如资源的调度。
59
- 以及检测和响应集群事件,例如当不满足部署的 ` {{< glossary_tooltip text="replicas" term_id="replica" >}} `
60
- 字段时,要启动新的 {{< glossary_tooltip text="Pod" term_id="pod">}})。
61
-
62
- <!--
63
- Control plane components can be run on any machine in the cluster. However,
64
- for simplicity, setup scripts typically start all control plane components on
65
- the same machine, and do not run user containers on this machine. See
66
- [Creating Highly Available clusters with kubeadm](/docs/setup/production-environment/tools/kubeadm/high-availability/)
67
- for an example control plane setup that runs across multiple machines.
42
+ A Kubernetes cluster consists of a control plane and one or more worker nodes. Here's a brief overview of the main components:
68
43
-->
69
- 控制平面组件可以在集群中的任何节点上运行。
70
- 然而,为了简单起见,设置脚本通常会在同一个计算机上启动所有控制平面组件,
71
- 并且不会在此计算机上运行用户容器。
72
- 请参阅[ 使用 kubeadm 构建高可用性集群] ( /zh-cn/docs/setup/production-environment/tools/kubeadm/high-availability/ )
73
- 中关于跨多机器控制平面设置的示例。
74
-
75
- ### kube-apiserver
76
-
77
- {{< glossary_definition term_id="kube-apiserver" length="all" >}}
78
-
79
- ### etcd
44
+ ## 核心组件
80
45
81
- {{< glossary_definition term_id="etcd" length="all" >}}
46
+ Kubernetes 集群由控制平面和一个或多个工作节点组成。以下是主要组件的简要概述:
82
47
83
- ### kube-scheduler
48
+ <!--
49
+ ### Control Plane Components
84
50
85
- {{< glossary_definition term_id="kube-scheduler" length="all" >}}
51
+ Manage the overall state of the cluster:
86
52
87
- ### kube-controller-manager
53
+ [kube-apiserver](/docs/concepts/architecture/#kube-apiserver)
54
+ : The core component server that exposes the Kubernetes HTTP API
88
55
89
- {{< glossary_definition term_id="kube-controller-manager" length="all" >}}
56
+ [etcd](/docs/concepts/architecture/#etcd)
57
+ : Consistent and highly-available key value store for all API server data
90
58
91
- <!--
92
- There are many different types of controllers. Some examples of them are:
59
+ [kube-scheduler](/docs/concepts/architecture/#kube-scheduler)
60
+ : Looks for Pods not yet bound to a node, and assigns each Pod to a suitable node.
93
61
94
- * Node controller: Responsible for noticing and responding when nodes go down.
95
- * Job controller: Watches for Job objects that represent one-off tasks, then creates
96
- Pods to run those tasks to completion.
97
- * EndpointSlice controller: Populates EndpointSlice objects (to provide a link between Services and Pods).
98
- * ServiceAccount controller: Create default ServiceAccounts for new namespaces.
62
+ [kube-controller-manager](/docs/concepts/architecture/#kube-controller-manager)
63
+ : Runs {{< glossary_tooltip text="controllers" term_id="controller" >}} to implement Kubernetes API behavior.
99
64
100
- The above is not an exhaustive list.
65
+ [cloud-controller-manager](/docs/concepts/architecture/#cloud-controller-manager) (optional)
66
+ : Integrates with underlying cloud provider(s)
101
67
-->
102
- 有许多不同类型的控制器。以下是一些例子:
103
-
104
- * 节点控制器(Node Controller):负责在节点出现故障时进行通知和响应
105
- * 任务控制器(Job Controller):监测代表一次性任务的 Job 对象,然后创建 Pod 来运行这些任务直至完成
106
- * 端点分片控制器(EndpointSlice controller):填充端点分片(EndpointSlice)对象(以提供 Service 和 Pod 之间的链接)。
107
- * 服务账号控制器(ServiceAccount controller):为新的命名空间创建默认的服务账号(ServiceAccount)。
68
+ ## 控制平面组件(Control Plane Components) {#control-plane-components}
108
69
109
- 以上并不是一个详尽的列表。
110
- <!--
111
- ### cloud-controller-manager
70
+ 管理集群的整体状态:
112
71
113
- The cloud-controller-manager only runs controllers that are specific to your cloud provider.
114
- If you are running Kubernetes on your own premises, or in a learning environment inside your
115
- own PC, the cluster does not have a cloud controller manager.
72
+ [ kube-apiserver] ( /zh-cn/docs/concepts/architecture/#kube-apiserver )
73
+ : 公开 Kubernetes HTTP API 的核心组件服务器
116
74
117
- As with the kube-controller-manager, the cloud-controller-manager combines several logically
118
- independent control loops into a single binary that you run as a single process. You can
119
- scale horizontally (run more than one copy) to improve performance or to help tolerate failures.
75
+ [ etcd] ( /zh-cn/docs/concepts/architecture/#etcd )
76
+ : 具备一致性和高可用性的键值存储,用于所有 API 服务器的数据存储
120
77
121
- The following controllers can have cloud provider dependencies:
78
+ [ kube-scheduler] ( /zh-cn/docs/concepts/architecture/#kube-scheduler )
79
+ : 查找尚未绑定到节点的 Pod,并将每个 Pod 分配给合适的节点。
122
80
123
- * Node controller: For checking the cloud provider to determine if a node has been deleted in the cloud after it stops responding
124
- * Route controller: For setting up routes in the underlying cloud infrastructure
125
- * Service controller: For creating, updating and deleting cloud provider load balancers
126
- -->
127
- ### cloud-controller-manager
81
+ [ kube-controller-manager] ( /zh-cn/docs/concepts/architecture/#kube-controller-manager )
82
+ : 运行{{< glossary_tooltip text="控制器" term_id="controller" >}}来实现 Kubernetes API 行为。
128
83
129
- {{< glossary_definition term_id="cloud-controller-manager" length="short" >}}
84
+ [ cloud-controller-manager] ( /zh-cn/docs/concepts/architecture/#cloud-controller-manager ) (optional)
85
+ : 与底层云驱动集成
130
86
131
- ` cloud-controller-manager ` 仅运行特定于云平台的控制器。
132
- 因此如果你在自己的环境中运行 Kubernetes,或者在本地计算机中运行学习环境,
133
- 所部署的集群不需要有云控制器管理器。
87
+ <!--
88
+ ### Node Components
134
89
135
- 与 ` kube-controller-manager ` 类似,` cloud-controller-manager `
136
- 将若干逻辑上独立的控制回路组合到同一个可执行文件中,
137
- 供你以同一进程的方式运行。
138
- 你可以对其执行水平扩容(运行不止一个副本)以提升性能或者增强容错能力。
90
+ Run on every node, maintaining running pods and providing the Kubernetes runtime environment:
139
91
140
- 下面的控制器都包含对云平台驱动的依赖:
92
+ [kubelet](/docs/concepts/architecture/#kubelet)
93
+ : Ensures that Pods are running, including their containers.
141
94
142
- * 节点控制器(Node Controller):用于在节点终止响应后检查云提供商以确定节点是否已被删除
143
- * 路由控制器(Route Controller):用于在底层云基础架构中设置路由
144
- * 服务控制器(Service Controller):用于创建、更新和删除云提供商负载均衡器
95
+ [kube-proxy](/docs/concepts/architecture/#kube-proxy) (optional)
96
+ : Maintains network rules on nodes to implement {{< glossary_tooltip text="Services" term_id="service" >}}
145
97
146
- <!--
147
- ## Node Components
148
98
149
- Node components run on every node, maintaining running pods and providing the Kubernetes runtime environment.
99
+ [Container runtime](/docs/concepts/architecture/#container-runtime)
100
+ : Software responsible for running containers. Read [Container Runtimes](/docs/setup/production-environment/container-runtimes/) to learn more.
150
101
-->
151
102
## Node 组件 {#node-components}
152
103
153
- 节点组件会在每个节点上运行,负责维护运行的 Pod 并提供 Kubernetes 运行环境。
104
+ 在每个节点上运行,维护运行的 Pod 并提供 Kubernetes 运行时环境:
154
105
155
- ### kubelet
106
+ [ kubelet] ( /zh-cn/docs/concepts/architecture/#kubelet )
107
+ : 确保 Pod 及其容器正常运行。
156
108
157
- {{< glossary_definition term_id="kubelet" length="all" >}}
109
+ [ kube-proxy] ( /zh-cn/docs/concepts/architecture/#kube-proxy ) (可选)
110
+ : 维护节点上的网络规则以实现 Service 的功能。
158
111
159
- ### kube-proxy
112
+ [ 容器运行时(Container runtime)] ( /zh-cn/docs/concepts/architecture/#container-runtime )
113
+ : 负责运行容器的软件,阅读[ 容器运行时] ( /zh-cn/docs/setup/production-environment/container-runtimes/ ) 以了解更多信息。
160
114
161
- {{< glossary_definition term_id="kube-proxy" length="all" > }}
115
+ {{% thirdparty-content single="true" % }}
162
116
163
117
<!--
164
- ### Container runtime
118
+ Your cluster may require additional software on each node; for example, you might also
119
+ run [systemd](https://systemd.io/) on a Linux node to supervise local components.
165
120
-->
166
- ### 容器运行时(Container Runtime) {#container-runtime}
167
-
168
- {{< glossary_definition term_id="container-runtime" length="all" >}}
121
+ 你的集群可能需要每个节点上运行额外的软件;例如,你可能还需要在 Linux
122
+ 节点上运行 [ systemd] ( https://systemd.io/ ) 来监督本地组件。
169
123
170
124
<!--
171
125
## Addons
172
126
173
- Addons use Kubernetes resources ({{< glossary_tooltip term_id="daemonset" >}},
174
- {{< glossary_tooltip term_id="deployment" >}}, etc)
175
- to implement cluster features. Because these are providing cluster-level features, namespaced resources
176
- for addons belong within the `kube-system` namespace.
127
+ Addons extend the functionality of Kubernetes. A few important examples include:
177
128
-->
178
129
## 插件(Addons) {#addons}
179
130
180
- 插件使用 Kubernetes 资源({{< glossary_tooltip text="DaemonSet" term_id="daemonset" >}}、
181
- {{< glossary_tooltip text="Deployment" term_id="deployment" >}} 等)实现集群功能。
182
- 因为这些插件提供集群级别的功能,插件中命名空间域的资源属于 ` kube-system ` 命名空间。
131
+ 插件扩展了 Kubernetes 的功能。一些重要的例子包括:
183
132
184
133
<!--
185
- Selected addons are described below; for an extended list of available addons, please
186
- see [Addons](/docs/concepts/cluster-administration/addons/).
187
- -->
188
- 下面描述众多插件中的几种。有关可用插件的完整列表,请参见
189
- [ 插件(Addons)] ( /zh-cn/docs/concepts/cluster-administration/addons/ ) 。
134
+ [DNS](/docs/concepts/architecture/#dns)
135
+ : For cluster-wide DNS resolution
190
136
191
- <!--
192
- ### DNS
193
-
194
- While the other addons are not strictly required, all Kubernetes clusters should have
195
- [cluster DNS](/docs/concepts/services-networking/dns-pod-service/), as many examples rely on it.
137
+ [Web UI](/docs/concepts/architecture/#web-ui-dashboard) (Dashboard)
138
+ : For cluster management via a web interface
196
139
197
- Cluster DNS is a DNS server, in addition to the other DNS server(s) in your environment,
198
- which serves DNS records for Kubernetes services.
140
+ [Container Resource Monitoring](/docs/concepts/architecture/#container-resource-monitoring)
141
+ : For collecting and storing container metrics
199
142
200
- Containers started by Kubernetes automatically include this DNS server in their DNS searches.
143
+ [Cluster-level Logging](/docs/concepts/architecture/#cluster-level-logging)
144
+ : For saving container logs to a central log store
201
145
-->
202
- ### DNS {#dns}
146
+ [ DNS] ( /zh-cn/docs/concepts/architecture/#dns )
147
+ : 集群范围内的 DNS 解析
203
148
204
- 尽管其他插件都并非严格意义上的必需组件,但几乎所有 Kubernetes
205
- 集群都应该有[ 集群 DNS] ( /zh-cn/docs/concepts/services-networking/dns-pod-service/ ) ,
206
- 因为很多示例都需要 DNS 服务。
149
+ [ Web 界面] ( /zh-cn/docs/concepts/architecture/#web-ui-dashboard ) (Dashboard)
150
+ : 通过 Web 界面进行集群管理
207
151
208
- 集群 DNS 是一个 DNS 服务器,和环境中的其他 DNS 服务器一起工作,它为 Kubernetes 服务提供 DNS 记录。
152
+ [ 容器资源监控] ( /zh-cn/docs/concepts/architecture/#container-resource-monitoring )
153
+ : 用于收集和存储容器指标
209
154
210
- Kubernetes 启动的容器自动将此 DNS 服务器包含在其 DNS 搜索列表中。
155
+ [ 集群层面日志] ( /zh-cn/docs/concepts/architecture/#cluster-level-logging )
156
+ : 用于将容器日志保存到中央日志存储
211
157
212
158
<!--
213
- ### Web UI (Dashboard)
214
-
215
- [Dashboard](/docs/tasks/access-application-cluster/web-ui-dashboard/) is a general purpose,
216
- web-based UI for Kubernetes clusters. It allows users to manage and troubleshoot applications
217
- running in the cluster, as well as the cluster itself.
218
- -->
219
- ### Web 界面(仪表盘) {#web-ui-dashboard}
220
-
221
- [ Dashboard] ( /zh-cn/docs/tasks/access-application-cluster/web-ui-dashboard/ )
222
- 是 Kubernetes 集群的通用的、基于 Web 的用户界面。
223
- 它使用户可以管理集群中运行的应用程序以及集群本身,
224
- 并进行故障排除。
159
+ ## Flexibility in Architecture
225
160
226
- <!--
227
- ### Container Resource Monitoring
161
+ Kubernetes allows for flexibility in how these components are deployed and managed. The architecture can be adapted to various needs, from small development environments to large-scale production deployments.
228
162
229
- [Container Resource Monitoring](/docs/tasks/debug/debug-cluster/resource-usage-monitoring/)
230
- records generic time-series metrics
231
- about containers in a central database, and provides a UI for browsing that data.
163
+ For more detailed information about each component and various ways to configure your cluster architecture, see the [Cluster Architecture](/docs/concepts/architecture/) page.
232
164
-->
233
- ### 容器资源监控 {#container-resource-monitoring}
234
-
235
- [ 容器资源监控] ( /zh-cn/docs/tasks/debug/debug-cluster/resource-usage-monitoring/ )
236
- 将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中,
237
- 并提供浏览这些数据的界面。
165
+ ## 架构灵活性 {#flexibility-in-architecture}
238
166
239
- <!--
240
- ### Cluster-level Logging
241
-
242
- A [cluster-level logging](/docs/concepts/cluster-administration/logging/) mechanism is responsible for
243
- saving container logs to a central log store with search/browsing interface.
244
- -->
245
- ### 集群层面日志 {#cluster-level-logging}
167
+ Kubernetes 允许灵活地部署和管理这些组件。此架构可以适应各种需求,从小型开发环境到大规模生产部署。
246
168
247
- [ 集群层面日志] ( /zh-cn/docs/concepts/cluster-administration/logging/ ) 机制负责将容器的日志数据保存到一个集中的日志存储中,
248
- 这种集中日志存储提供搜索和浏览接口。
249
-
250
- <!--
251
- ### Network Plugins
252
-
253
- [Network plugins](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins) are software
254
- components that implement the container network interface (CNI) specification. They are responsible for
255
- allocating IP addresses to pods and enabling them to communicate with each other within the cluster.
256
- -->
257
- ### 网络插件 {#network-plugins}
258
-
259
- [ 网络插件] ( /zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins )
260
- 是实现容器网络接口(CNI)规范的软件组件。它们负责为 Pod 分配 IP 地址,并使这些 Pod 能在集群内部相互通信。
261
-
262
- ## {{% heading "whatsnext" %}}
263
-
264
- <!--
265
- Learn more about the following:
266
- * [Nodes](/docs/concepts/architecture/nodes/) and [their communication](/docs/concepts/architecture/control-plane-node-communication/)
267
- with the control plane.
268
- * Kubernetes [controllers](/docs/concepts/architecture/controller/).
269
- * [kube-scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/) which is the default scheduler for Kubernetes.
270
- * Etcd's official [documentation](https://etcd.io/docs/).
271
- * Several [container runtimes](/docs/setup/production-environment/container-runtimes/) in Kubernetes.
272
- * Integrating with cloud providers using [cloud-controller-manager](/docs/concepts/architecture/cloud-controller/).
273
- * [kubectl](/docs/reference/generated/kubectl/kubectl-commands) commands.
274
- -->
275
- 进一步了解以下内容:
276
- * [ 节点] ( /zh-cn/docs/concepts/architecture/nodes/ ) 及其与[ 控制平面] ( /zh-cn/docs/concepts/architecture/control-plane-node-communication/ ) 的通信。
277
- * Kubernetes 中的[ 控制器] ( /zh-cn/docs/concepts/architecture/controller/ ) 。
278
- * Kubernetes 的默认调度程序 [ kube-scheduler] ( /zh-cn/docs/concepts/scheduling-eviction/kube-scheduler/ ) 。
279
- * etcd 的官方[ 文档] ( https://etcd.io/docs/ ) 。
280
- * Kubernetes 中的几个[ 容器运行时] ( /zh-cn/docs/setup/production-environment/container-runtimes/ ) 。
281
- * 使用 [ cloud-controller-manager] ( /zh-cn/docs/concepts/architecture/cloud-controller/ ) 与云提供商进行集成。
282
- * [ kubectl] ( /docs/reference/generated/kubectl/kubectl-commands ) 命令。
169
+ 有关每个组件的详细信息以及配置集群架构的各种方法,
170
+ 请参阅[ 集群架构] ( /zh-cn/docs/concepts/architecture/ ) 页面。
0 commit comments