K8s架构通俗精讲!Java/Python开发者视角吃透集群核心组件,彻底听懂K8s工作原理
0. 导读很多开发同学学 K8s 最大的痛点只会敲简单命令部署服务完全不懂集群运行逻辑遇到问题只能瞎排查。尤其对于Java业务底座 Python LangChain/LangGraph Agent项目线上经常出现Pod 莫名重启、调度失败、服务无法访问、扩容不生效等问题根源都是不懂 K8s 整体架构与组件分工。1. K8s核心架构总览Kubernetes 采用经典的主从架构Master-Worker整体分为两大核心节点角色控制平面Master、工作节点Worker。核心设计思想控制平面负责管理调度工作节点负责真正运行业务容器。所有 Java 微服务、Python Agent、Milvus向量库、LLM推理服务全部运行在 Worker 节点由 Master 节点统一管控、调度、自愈。1.1 极简架构认知开发必记控制平面Master集群“大脑”不运行业务服务只负责管理、调度、监控、自愈工作节点Worker集群“劳动力”所有容器、业务服务的实际运行载体2. 控制平面Master核心组件精讲控制平面组件是集群核心无需手动操作只需掌握各自职责就能看懂集群运行逻辑解决90%调度异常问题。2.1 kube-apiserver集群唯一入口核心定位整个K8s集群的网关与统一入口所有操作kubectl命令、YAML部署、CI/CD推送全部经过 apiserver负责请求校验、权限认证、数据落地是集群唯一对外交互接口无状态组件支持水平扩容保障集群高可用开发者场景我们部署Java服务、Agent服务、更新配置、扩容实例所有操作都是调用 apiserver 完成。2.2 etcd集群数据库核心定位K8s集群唯一存储数据库存放所有集群资源数据存储所有资源状态Pod、Deployment、Service、配置、权限、节点信息强一致性、高可用集群所有组件数据统一依赖etcd开发者认知我们编写的YAML资源最终都会持久化到etcd集群所有组件实时监听数据变化、触发对应操作。2.3 kube-controller-manager集群自愈管家核心定位负责集群资源持续调谐、故障自愈内置多种控制器开发者最常用的核心能力副本控制器保证Java/Agent服务实例数量始终符合预期Pod挂了自动重建节点控制器Worker节点故障时自动迁移节点上的业务Pod命名空间、资源配额控制器管控集群资源权限与配额核心价值实现K8s最核心的自愈能力也是AI Agent服务7*24稳定运行的关键。2.4 kube-scheduler集群调度师核心定位负责为新建Pod选择最优Worker节点调度核心逻辑贴合业务场景资源过滤根据Pod配置的CPU/内存限制筛选资源充足的节点避免Agent、LLM服务资源不足崩溃策略匹配匹配节点亲和、污点、标签规则实现业务与AI服务节点隔离分值优选优先选择负载更低、更合适的节点部署Pod开发者场景可以通过调度策略将高负载的LLM推理服务、向量数据库调度到高配节点普通Java业务服务调度到常规节点实现资源合理隔离。3. 工作节点Worker核心组件精讲Worker节点是我们业务服务的实际运行环境所有Java、Python Agent、AI中间件容器都运行在此这部分是开发者必须吃透的核心内容。3.1 kubelet节点管家核心定位每个Worker节点的专属代理负责管控本节点所有Pod核心职责接收Master节点指令创建、启动、停止、删除容器实时监控Pod运行状态、资源占用、健康探针结果节点状态上报给控制平面异常及时触发自愈高频踩坑点Pod启动失败、探针不通过、容器异常退出全部由kubelet检测并上报、处理。3.2 kube-proxy集群网络代理核心定位负责集群所有网络转发、负载均衡、服务访问核心能力实现Service集群内部负载均衡多实例Java/Agent服务请求自动分发维护节点网络规则保障Pod之间、Pod与外部网络互通支持TCP/UDP请求转发适配LLM长连接对话场景开发者场景我们通过Service访问多个Agent服务实例、实现请求负载均衡底层全靠kube-proxy支撑。3.3 容器运行时Container Runtime负责真正拉取镜像、启动容器、运行业务程序主流为Docker、containerd。承接前文Docker最佳实践我们优化后的Java、Python镜像最终由容器运行时完成加载与运行。4. K8s完整工作流程开发者必懂闭环以部署一套Python RAG Agent服务为例完整串联集群工作逻辑提交部署开发者编写Deployment YAML通过kubectl提交部署请求入口校验apiserver接收请求校验权限、语法存储资源信息到etcd触发调度scheduler监测到未调度Pod筛选最优Worker节点创建容器目标节点kubelet接收指令调用容器运行时拉取Harbor私有镜像、启动Agent容器网络注册kube-proxy注册服务网络规则实现集群内部访问与负载均衡持续自愈controller-manager实时监测实例数量与状态Pod异常自动重建保障服务稳定一套流程走完就完成了Agent服务从镜像到集群上线的完整落地所有K8s操作都遵循这套核心逻辑。5. 双栈开发者重点认知JavaAgent专属结合我们的技术栈明确组件对应的业务价值告别无效学习Master组件无需手动运维只需理解调度、自愈原理用于排查服务调度失败、扩容失效问题kubelet直接决定Java服务、Agent服务是否正常启动、探针是否生效、异常是否自愈kube-proxy支撑多微服务、多Agent模块之间的通信保障LLM对话、向量检索请求稳定转发调度器可实现AI重负载服务与普通业务服务的节点隔离避免资源抢占6. 总结K8s采用主从架构Master负责管控调度Worker负责运行业务容器apiserver是集群入口、etcd是集群数据库、控制器负责自愈、调度器负责选节点kubelet管控单节点Pod、kube-proxy管控集群网络是开发者接触最多的核心组件掌握整体架构流程是后续精通Pod、Deployment、网络、排错的前置基础也是Agent生产落地的核心前提