Kubernetes 集群节点组件架构图
架构图说明
区块结构
- Master节点区块(蓝色边框)
- 控制平面核心组件(蓝色填充):仅Master节点特有的组件
- 节点通用组件(绿色填充):所有节点都有的组件
- Master节点运行的Pod(橙色填充):在Master节点上运行的系统Pod
- Worker节点区块(无特殊边框)
- 节点通用组件(绿色填充):所有节点都有的组件
- Worker节点运行的Pod(橙色填充):在Worker节点上运行的应用Pod
- 网络与存储插件区块(紫色边框)
- CNI网络插件:提供Pod网络通信
- CSI存储插件:提供持久化存储
组件分类
| 颜色 | 组件类型 | 说明 |
|---|---|---|
| 蓝色 | 控制平面组件 | 仅Master节点运行,集群管理核心 |
| 绿色 | 节点通用组件 | 所有节点都运行,基础功能组件 |
| 橙色 | Pod实例 | 容器化运行的组件或应用 |
| 紫色 | 集群插件 | 扩展功能,网络和存储 |
关键通信路径
- kube-apiserver → kubelet:所有节点的kubelet向API Server注册并上报状态
- kube-apiserver → kube-proxy:所有节点的kube-proxy从API Server获取Service信息
- kubelet → 容器运行时:kubelet通过容器运行时管理容器生命周期
- kube-proxy → CNI插件:kube-proxy配置网络规则实现Service网络
组件详细说明表
Master 节点特有组件(控制平面)
| 组件 | 作用 | 关键特性 |
|---|---|---|
| kube-apiserver | 集群统一入口,REST API 服务 | 认证/授权/准入控制,水平扩展 |
| etcd | 分布式键值存储,集群状态存储 | 高可用,Raft 共识算法 |
| kube-scheduler | Pod 调度决策,选择运行节点 | 资源评估,亲和性策略 |
| kube-controller-manager | 运行各种控制器,维持期望状态 | Node/Deployment/Service 等控制器 |
| cloud-controller-manager | 与云平台 API 交互 | 节点管理,负载均衡器,存储卷 |
所有节点共有组件
| 组件 | 在 Master 节点的作用 | 在 Worker 节点的作用 |
|---|---|---|
| kubelet | 运行控制平面 Pod,节点状态上报 | 运行用户 Pod,节点状态上报 |
| kube-proxy | 为控制平面组件提供网络访问 | 为用户 Pod 提供网络访问 |
| 容器运行时 | 运行控制平面容器 | 运行用户应用容器 |
Master 节点上的典型 Pod
| Pod 类型 | 示例 | 作用 |
|---|---|---|
| 控制平面 | kube-apiserver, kube-scheduler | 集群控制功能 |
| 网络插件 | Calico, Flannel, Cilium | 提供 Pod 网络 |
| DNS | CoreDNS | 集群内服务发现 |
| 监控 | Prometheus, Grafana | 监控集群状态 |
| 日志 | EFK Stack | 日志收集 |
Worker 节点上的典型 Pod
| Pod 类型 | 示例 | 特点 |
|---|---|---|
| 用户应用 | Web 服务器,数据库 | 业务应用 |
| DaemonSet | 日志代理,监控代理 | 每个节点运行一个 |
| Job/CronJob | 批处理任务,定时任务 | 一次性或定时运行 |
| StatefulSet | MySQL 集群,Redis 集群 | 有状态应用 |
节点间通信流程
关键要点总结
架构设计理念
- 分离关注点:控制平面与数据平面分离
- 对称性:所有节点运行相同的基础组件(kubelet、kube-proxy)
- 自托管:控制平面组件自身也作为 Pod 运行
- 声明式 API:通过 etcd 存储期望状态
为什么 Master 也需要 kubelet 和 kube-proxy?
- 运行控制平面 Pod:API Server、Scheduler 等也以容器形式运行
- 统一网络模型:所有节点都能访问 Service 网络
- 简化运维:一致的节点配置和管理方式
- 高可用部署:多个 Master 节点对等部署
实际部署注意事项
- 污点与容忍度:Master 默认有
NoSchedule污点 - 资源预留:Master 节点需要预留资源给系统组件
- 安全加固:限制对 Master 节点的访问
- 备份 etcd:定期备份 etcd 数据
扩展组件(可选)
- CNI 插件:Calico、Flannel、Cilium(网络)
- CSI 插件:存储提供商插件(存储)
- Ingress 控制器:Nginx、Traefik(入口流量)
- 服务网格:Istio、Linkerd(微服务治理)
通过这种架构,Kubernetes 实现了:
- 高可用性:多 Master 节点部署
- 可扩展性:可添加更多 Worker 节点
- 自修复能力:控制器保持期望状态
- 声明式管理:用户声明期望状态,系统实现
参考文献:from Deepseek.

1383

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



