这个图适用于Rancher 通过 RKE 部署的 Kubernetes 集群

线条显示了组件之间的通信。颜色纯粹用于视觉辅助。

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

注意: 在 UI 中如果具有 controlplane 角色的节点显示为 不可调度,这意味着在默认情况下,不会将 pod 调度到这些节点。

Kubernetes 控制器使用了选举机制。也就是说如果有多个实例的kube-controller-manager组件,那么只有一个是处于业务逻辑运行状态。它是通过一个 Kubernetes endpoint 实现的。kube-controller-manager的一个实例会在这个 Kubernetes endpoint 中增加一个条目,并且在一个可配置的时间间隔内定期更新这个条目。其他的实例将可以看到当前的 leader 并且等待这个条目过期(例如节点没有响应),并重新进行选举。

Kubernetes 调度器使用了选举机制。也就是说如果有多个kube-scheduler组件的实例,那么只有一个是处于业务逻辑运行状态。它是通过一个 Kubernetes endpoint 实现的。kube-scheduler的一个实例会在这个 Kubernetes endpoint 中增加一个条目,并且在一个可配置的时间间隔内定期更新这个条目。其他的实例将可以看到当前的 leader 并且等待这个条目过期(例如节点响应了),并重新进行选举。

具有 worker 角色的节点运行 Kubernetes Node 组件。参见 的详细列表。