本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

Kubernetes 节点的角色

本节描述了Kubernetes中etcd节点、控制平面节点和工作节点的角色,以及这些角色在集群中的协作方式。

该图适用于Kubernetes集群 通过Rancher使用RKE启动。

集群示意图
Figure 1. 线条显示组件之间的流向。颜色仅用于视觉辅助。

etcd

具有`etcd`角色的节点运行etcd,这是一个一致且高可用的键值存储,用作Kubernetes’的所有集群数据的后端存储。etcd将数据复制到每个节点。

具有`etcd`角色的节点在UI中显示为`Unschedulable`,这意味着默认情况下不会将Pod调度到这些节点。

控制平面

具有`controlplane`角色的节点运行Kubernetes主组件(不包括`etcd`,因为它是一个单独的角色)。有关组件的详细列表,请参见 Kubernetes: 主组件

具有`controlplane`角色的节点在UI中显示为`Unschedulable`,这意味着默认情况下不会将Pod调度到这些节点。

kube-apiserver

Kubernetes API 服务器(kube-apiserver)支持横向扩展。每个具有`controlplane`角色的节点将被添加到需要访问Kubernetes API服务器的节点上的NGINX代理中。这意味着如果某个节点变得不可达,该节点上的本地NGINX代理将请求转发到列表中的另一个Kubernetes API服务器。

kube-controller-manager

Kubernetes控制器管理器使用Kubernetes中的端点进行领导者选举。一个`kube-controller-manager`实例将在Kubernetes端点中创建一个条目,并在配置的时间间隔内更新该条目。其他实例将看到一个活动的领导者,并等待该条目过期(例如,当某个节点无响应时)。

kube-scheduler

Kubernetes调度器使用Kubernetes中的端点进行领导者选举。一个`kube-scheduler`实例将在Kubernetes端点中创建一个条目,并在配置的时间间隔内更新该条目。其他实例将看到一个活动的领导者,并等待该条目过期(例如,当某个节点无响应时)。

worker 节点

具有`worker`角色的节点运行Kubernetes节点组件。有关组件的详细列表,请参见 Kubernetes: 节点组件