Kubernetes 系列【2】组件架构
文章目录
1. 概述
一个标准的 Kubernetes 集群由控制平面(Master 组件)和若干工作节点共同组成,同时支持各类扩展插件丰富集群能力。

2. 控制平面组件
控制平面组件负责管理整个集群的全局状态、调度策略、资源管控,是集群的大脑。
2.1 kube-apiserver(API 服务网关)

Kubernetes 集群唯一统一入口、核心网关组件,基于 HTTP/HTTPS 对外提供标准 RESTful API,所有集群操作与组件通信均依赖该组件。该组件具备认证、授权、准入校验、数据序列化能力,支持水平扩容,是整个集群安全访问与资源交互的核心枢纽,无任何组件可绕过它直接操作集群数据。
工作机制:依次完成请求认证、授权、准入控制、数据校验、序列化存储,最终写入 etcd 或返回查询结果,支持多实例水平扩容实现高可用。
关键特性:无状态、可扩容、安全可控、统一收口,保障集群操作规范、数据安全一致。
2.2 etcd(集群核心数据库)

基于 Raft 一致性算法的分布式键值(Key-Value)数据库,是 Kubernetes 集群唯一的持久化存储组件。持久存储集群所有资源数据(节点、Pod、控制器、配置、密钥、状态信息等),维护集群全局状态一致性。
关键特性:
- 强一致性、高可用、可持久化、数据安全,生产环境强制
3/5节点集群部署,杜绝单点故障。 - 仅对
kube-apiserver开放读写权限,其他组件无权直接操作。
2.3 kube-scheduler(集群调度器)

控制平面核心调度组件,负责集群 Pod 资源的节点分配与资源最优调度。监测所有未绑定节点的新建 Pod,结合节点资源、调度规则,筛选最优工作节点完成调度绑定。
工作机制分为两大核心阶段:
- 预选阶段过滤不合格节点(资源不足、污点匹配、端口冲突等);
- 优选阶段对合规节点打分排序,择优分配
Pod。
关键特性:支持节点亲和性、Pod 亲和性、污点容忍、资源配额,实现集群资源均衡分配、高效利用,支持自定义调度策略。
2.4 kube-controller-manager(控制器管理器)

集群自愈核心组件,集成 Kubernetes 所有内置控制器,统一运行管控。持续监控集群资源状态,通过调谐机制修正状态偏差,保障资源运行符合用户期望。
工作机制:循环监听资源当前状态与期望状态,状态不一致时自动触发修复逻辑,实现副本维稳、节点故障驱逐、端点更新、资源生命周期管控。
关键特性:内置多类控制器(副本、节点、端点、命名空间等),是集群自愈、状态稳定的核心载体。
2.5 cloud-controller-manager(云控制器管理器|可选)

可选控制平面组件,专为云环境设计,打通 Kubernetes 与公有云基础设施资源。实现集群与云厂商资源联动,管理云负载均衡、云硬盘、弹性网卡、节点弹性伸缩等资源。
工作机制:监听集群资源变更,自动调用云厂商 API,完成云资源的创建、绑定、销毁与更新。
关键特性:裸金属/本地机房无需部署,公有云集群必备,适配云原生弹性扩缩、资源托管能力。
3. 节点组件
节点组件会在每个节点上运行,包括 master 节点和 worker 节点,负责维护运行的 Pod 并提供 Kubernetes 运行环境。
3.1 kubelet(节点守护进程)

所有工作节点必备核心代理进程,是节点与控制平面通信的唯一桥梁。全权管理本机所有 Pod、容器的全生命周期,同步节点与集群状态,执行控制平面下发指令。
工作机制:与 apiserver 保持长连接,接收调度指令,完成镜像拉取、容器启停、健康巡检、异常重启、资源回收、状态上报。
关键特性:单节点独占、自主运维本机资源、实时状态上报,是节点自愈、集群状态同步的基础组件。
3.2 kube-proxy(节点网络代理)

节点网络核心组件,是一个网络代理程序,运行在集群中的每一个节点上,实现 Kubernetes Service 服务网络模型,保障集群流量正常转发。负责维护节点网络转发规则,实现服务负载均衡、流量调度、端口映射、内外网流量访问。
工作机制:监听 Service 与 Endpoint 变更,自动更新节点 iptables/ipvs 转发规则,无需进程转发,内核级高效流转流量。
关键特性:支持 ClusterIP、NodePort、LoadBalancer 多模式,保障集群 Pod 互通、服务稳定暴露。
3.2 Container Runtime(容器运行时)
容器引擎负责运行容器,Kubernetes 支持多种容器引擎,包括 Docker(原生不再支持)、containerd、cri-o、rktlet 以及任何实现了 Kubernetes 容器引擎接口的容器引擎。
工作机制:kubelet 通过 CRI 接口调用容器运行时,间接管控容器,不直接操作底层容器资源。
3. 扩展插件
插件用于拓展 Kubernetes 原生能力,完善集群运维、网络、监控、日志等生态能力。
3.1 集群 DNS
集群必备核心插件,提供全集群统一域名解析服务。自动为 Service、Pod 绑定域名,动态更新解析规则,解决容器 IP 动态变更问题,支撑微服务跨节点、跨命名空间稳定互通。
3.2 可视化控制台
官方可视化运维插件,提供网页端集群管理界面。替代命令行操作,图形化查看、编辑、管理集群资源,降低运维门槛,多用于测试环境与日常简易运维。

重要说明:
Kubernetes仪表板已被弃用,不再进行维护。该项目现已归档,不会再进行迭代更新。新环境建议使用 Headlamp 替代。- 也要很多其他开源的可视化控制台可选。
3.3 容器资源监控
集群观测核心扩展能力,采集节点、Pod、容器的资源指标与业务指标,实现性能监控、水位观测、过载预警,支撑生产环境稳定性运维与容量评估。
主流方案: Prometheus + Grafana
3.4 集群日志收集
中心化日志运维,统一采集、存储、检索容器日志,解决容器销毁日志丢失、日志分散问题,支撑线上故障排查、业务审计。
主流方案: EFK/ELK、Loki
更多推荐
所有评论(0)