website/content/zh/docs/concepts/overview/components.md

9.8 KiB
Raw Blame History

title content_type description weight card
Kubernetes 组件 concept Kubernetes 集群由代表控制平面的组件和一组称为节点的机器组成。 20
name weight
concepts 20

当你部署完 Kubernetes, 即拥有了一个完整的集群。 {{< glossary_definition term_id="cluster" length="all" prepend="一个 Kubernetes 集群包含">}}

本文档概述了交付正常运行的 Kubernetes 集群所需的各种组件。

这张图表展示了包含所有相互关联组件的 Kubernetes 集群。

Kubernetes 组件

控制平面组件Control Plane Components

控制平面的组件对集群做出全局决策(比如调度),以及检测和响应集群事件(例如,当不满足部署的 replicas 字段时,启动新的 {{< glossary_tooltip text="pod" term_id="pod">}})。

控制平面组件可以在集群中的任何节点上运行。 然而,为了简单起见,设置脚本通常会在同一个计算机上启动所有控制平面组件,并且不会在此计算机上运行用户容器。 请参阅构建高可用性集群 中对于多主机 VM 的设置示例。

kube-apiserver

{{< glossary_definition term_id="kube-apiserver" length="all" >}}

etcd

{{< glossary_definition term_id="etcd" length="all" >}}

kube-scheduler

{{< glossary_definition term_id="kube-scheduler" length="all" >}}

kube-controller-manager

{{< glossary_definition term_id="kube-controller-manager" length="all" >}}

这些控制器包括:

  • 节点控制器Node Controller: 负责在节点出现故障时进行通知和响应。
  • 副本控制器Replication Controller: 负责为系统中的每个副本控制器对象维护正确数量的 Pod。
  • 端点控制器Endpoints Controller: 填充端点(Endpoints)对象(即加入 Service 与 Pod)。
  • 服务帐户和令牌控制器Service Account & Token Controllers: 为新的命名空间创建默认帐户和 API 访问令牌.

cloud-controller-manager

{{< glossary_definition term_id="cloud-controller-manager" length="short" >}}

cloud-controller-manager 仅运行特定于云平台的控制回路。 如果你在自己的环境中运行 Kubernetes或者在本地计算机中运行学习环境 所部署的环境中不需要云控制器管理器。

kube-controller-manager 类似,cloud-controller-manager 将若干逻辑上独立的 控制回路组合到同一个可执行文件中,供你以同一进程的方式运行。 你可以对其执行水平扩容(运行不止一个副本)以提升性能或者增强容错能力。

下面的控制器都包含对云平台驱动的依赖:

  • 节点控制器Node Controller: 用于在节点终止响应后检查云提供商以确定节点是否已被删除
  • 路由控制器Route Controller: 用于在底层云基础架构中设置路由
  • 服务控制器Service Controller: 用于创建、更新和删除云提供商负载均衡器

Node 组件

节点组件在每个节点上运行,维护运行的 Pod 并提供 Kubernetes 运行环境。

kubelet

{{< glossary_definition term_id="kubelet" length="all" >}}

kube-proxy

{{< glossary_definition term_id="kube-proxy" length="all" >}}

容器运行时Container Runtime

{{< glossary_definition term_id="container-runtime" length="all" >}}

插件Addons

插件使用 Kubernetes 资源({{< glossary_tooltip text="DaemonSet" term_id="daemonset" >}}、 {{< glossary_tooltip text="Deployment" term_id="deployment" >}}等)实现集群功能。 因为这些插件提供集群级别的功能,插件中命名空间域的资源属于 kube-system 命名空间。

下面描述众多插件中的几种。有关可用插件的完整列表,请参见 插件Addons

DNS

尽管其他插件都并非严格意义上的必需组件,但几乎所有 Kubernetes 集群都应该 有集群 DNS 因为很多示例都需要 DNS 服务。

集群 DNS 是一个 DNS 服务器,和环境中的其他 DNS 服务器一起工作,它为 Kubernetes 服务提供 DNS 记录。

Kubernetes 启动的容器自动将此 DNS 服务器包含在其 DNS 搜索列表中。

Web 界面(仪表盘)

Dashboard 是K ubernetes 集群的通用的、基于 Web 的用户界面。 它使用户可以管理集群中运行的应用程序以及集群本身并进行故障排除。

容器资源监控

容器资源监控 将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中,并提供用于浏览这些数据的界面。

集群层面日志

集群层面日志 机制负责将容器的日志数据 保存到一个集中的日志存储中,该存储能够提供搜索和浏览接口。

{{% heading "whatsnext" %}}