Kubernetes 集群组件、高可用性及服务选择全解析
1. Kubernetes 节点组件
在 Kubernetes 集群中,运行用户工作负载的集群成员被称为工作节点。每个工作节点都会运行以下组件:
- kubelet :负责驱动容器运行时启动调度到该节点上的工作负载,并监控它们的状态。
- kube - proxy :实现网络路由功能,负责在不同节点的 Pod 之间以及 Pod 与互联网之间路由请求。
- 容器运行时 :实际启动和停止容器,并处理它们之间的通信。过去最流行的选择是 Docker,但 Kubernetes 也支持其他容器运行时,如 containerd 和 CRI - O。
运行控制平面组件的节点和运行应用工作负载的工作节点之间,除了运行不同的容器化组件外,并没有本质区别。通常,运行控制平面组件的节点不会同时运行用户创建的工作负载,但在非常小的集群(如 Docker Desktop 或 Minikube)中除外。
2. 高可用性
正确配置的 Kubernetes 集群具有多个控制平面节点,从而实现高可用性。这意味着即使任何单个节点发生故障、关闭,或者其上的某个控制平面组件停止运行,集群仍能正常工作。高可用的控制平面还能处理因网络故障(即网络分区)导致部分控制平面节点无法相互通信的情况。
etcd 数据库会在多个节点上进行复制,只要超过一半的原始 etcd 副本仍然可用,它就能在个别节点故障时存活下来。如果所有配置正确,控制平面可以承受单个节点的重启或临时故障。
超级会员免费看
订阅专栏 解锁全文
1840

被折叠的 条评论
为什么被折叠?



