从“大脑”到“肌肉”:一张图搞懂K8s集群组件架构 📅 2026/7/18 2:49:23 从“大脑”到“肌肉”一张图搞懂K8s集群组件架构本文专为初学者设计用最通俗的语言拆解Kubernetes集群的各个组件让你一次性搞懂它们各自是干什么的。一、先记住一个比喻如果把一个K8s集群比作一家大型物流公司控制平面Control Plane就是公司的总部——负责接单、调度、监控全局工作节点Worker Node就是各地的仓库和配送站——负责实际存放货物运行容器。K8s集群由控制平面和工作节点两大部分组成。控制平面管理集群的整体状态工作节点则承载实际运行的容器化应用。下面我们逐一拆解每个组件。二、控制平面Control Plane——“总部”的四大核心部门控制平面负责做出集群的全局决策比如把Pod调度到哪个节点以及检测和响应集群事件比如某个Pod挂了需要重新拉起。它由四个核心组件组成 1. API Server——唯一的前台接待API Server是Kubernetes的核心组件它公开了Kubernetes API是整个控制平面的前端入口。所有与集群的交互——无论是你用kubectl敲的命令、其他组件的内部通信还是外部系统的调用——都必须经过API Server。它负责认证、授权和校验每一个请求。一句话总结API Server是集群的“唯一大门”所有人都得从这里进出。 2. etcd——集群的“数据库”etcd是一个一致且高可用的键值存储用作Kubernetes所有集群数据的后台数据库。集群的每一个状态——有哪些节点、跑了哪些Pod、配置了什么Service——全部保存在etcd里。API Server是唯一与etcd直接交互的组件。一句话总结etcd是集群的“记忆中心”所有信息都记在这里。 3. Scheduler——调度员Scheduler负责监视新创建的、尚未分配节点的Pod并为其选择一个最合适的节点来运行。调度决策会综合考虑资源需求、硬件/软件策略约束、亲和性规范等多种因素。它不是随便乱选而是“精打细算”地安排。一句话总结Scheduler是“调度员”决定每个Pod去哪台机器上干活。 4. Controller Manager——自动化运维团队Controller Manager运行着各种各样的控制器负责实现Kubernetes API的各种行为。每个控制器都是一个独立的过程持续监控系统当前状态一旦发现与期望状态不一致就自动执行调整。比如ReplicaSet控制器确保指定数量的Pod始终在运行Deployment控制器管理滚动更新和回滚。一句话总结Controller Manager是“自动化运维团队”确保集群始终按你的期望运行。三、工作节点Worker Node——“一线员工”的三大标配每个工作节点上都运行着三个核心组件它们共同负责让容器真正跑起来。 1. Kubelet——节点上的“监工”Kubelet是运行在每个工作节点上的主要代理它负责与API Server通信确保节点上的容器按照PodSpec的定义正常运行。Kubelet管理Pod的整个生命周期——创建、运行、健康检查、销毁——并定期向API Server报告节点和Pod的状态。一句话总结Kubelet是节点上的“监工”负责管好本节点上的所有Pod。 2. Kube-proxy——网络规则维护员Kube-proxy负责维护节点上的网络规则实现Service的负载均衡和服务发现功能。简单说当你要访问某个Service时kube-proxy帮你把请求正确地转发到后端的某个Pod上。一句话总结Kube-proxy是“网络交警”保证流量走对路。 3. 容器运行时——真正“干活”的人容器运行时是真正负责运行容器的软件比如Docker、containerd或CRI-O。Kubernetes通过容器运行时接口CRI与不同的容器运行时进行交互这使得K8s可以灵活地支持多种运行时。一句话总结容器运行时是“一线搬运工”真正把容器拉起来跑。四、它们如何协同工作一个完整的请求流程假设你执行kubectl create deployment nginx --imagenginxkubectl将请求发给API ServerAPI Server认证通过后把这个“我要跑一个Nginx”的信息存入etcdScheduler监听到有新的Pod需要调度选一个合适的工作节点把结果告诉API Server目标节点上的Kubelet收到指令通知容器运行时拉取镜像并启动容器Controller Manager持续监控确保这个Nginx Pod始终在运行挂了就自动重建。关键点所有组件都只与API Server通信彼此之间不直接打交道。这种设计让各组件松耦合便于独立升级和扩展。五、给小白的一张速记表组件所属一句话记忆API Server控制平面唯一大门所有请求都经过它etcd控制平面集群数据库存所有状态Scheduler控制平面调度员给Pod分配节点Controller Manager控制平面自动化运维维持期望状态Kubelet工作节点节点监工管理Pod生命周期Kube-proxy工作节点网络交警维护流量规则容器运行时工作节点一线搬运工真正跑容器写在最后K8s的组件虽多但逻辑非常清晰控制平面负责“想”和“管”工作节点负责“做”。API Server是唯一入口etcd是记忆中心Scheduler做决策Controller Manager保稳定Kubelet和容器运行时负责执行。把这几个角色搞清楚了你就已经掌握了K8s架构的核心。剩下的就是在实践中慢慢加深理解了。延伸阅读Kubernetes官方文档 - 组件概述最权威的参考资料