想真正读懂 Kubernetes 的底层运作,你必须理解它的“权力架构”。
Pod 是什么?Node 是什么?Control Plane 又是做什么的?
它们之间有什么关系?怎么协同工作?
本篇带你构建一个完整、系统、可视化的 Kubernetes 架构脑图,彻底搞清这些基础概念。
为什么要搞懂这些核心概念?
很多初学者学习 Kubernetes 时,容易陷入“YAML 写多了,但不知其所以然”的误区。
你可能会遇到这样的问题:
- Pod 是不是就等于容器?
- Node 和 Cluster 是什么关系?
- Deployment 和 Pod 是啥关系?能不能直接创建 Pod?
- Control Plane 是不是只有 Master 节点?
要学会用 Kubernetes 解决问题,必须跳出配置的细节,先搞清楚“整体结构”。
一图读懂 Kubernetes 架构全景图
1. Cluster(集群):Kubernetes 的运行大本营
Cluster 就是 Kubernetes 管理的一整个容器平台,由多个节点(Node)组成。
- 它包含两个部分:
-
- 控制平面(Control Plane) :负责“指挥调度”(脑子)
- 工作节点(Worker Nodes) :负责“实际干活”(身体)
2. Control Plane:集群大脑,调度与决策中枢
Control Plane 是 Kubernetes 的“中枢系统”,决定 Pod 怎么部署、怎么扩容、怎么恢复。
核心组件包括:
组件 | 作用 |
---|---|
API Server | 对外接口入口,所有操作的“前台” |
etcd | 集群状态数据库,保存“期望状态”和配置 |
Controller Manager | 各种控制器管理器(如 Deployment 控制器) |
Scheduler | 调度器,负责 Pod 分配到合适 Node |
它们之间的配合逻辑:
3. Node:工作节点,容器运行的“舞台”
Node 是运行容器(Pod)的物理机或虚拟机。
每个 Node 至少包含两个关键组件:
组件 | 说明 |
---|---|
Kubelet | 与 API Server 通信,负责管理 Pod 生命周期 |
Container Runtime | 比如 Docker、containerd,用于运行容器 |
kube-proxy | 负责服务访问、网络转发 |
Node 上执行的是 Kubernetes 控制下的具体“动作”。
4. Pod:Kubernetes 的最小调度单元
Pod 是 Kubernetes 的基本“工作单位”,也是它调度的最小颗粒。
一个 Pod 可以包含一个或多个容器(通常是一个),这些容器共享以下资源:
- 网络命名空间(同 IP、端口)
- 存储卷(Volume)
- 环境变量、配置
举例:
apiVersion: v1
kind: Pod
metadata:
name: my-nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
Pod ≠ 容器,理解 Pod 的“壳”意义
一个 Pod 是容器的“外壳”,它主要做三件事:
- 为容器提供一个统一的网络接口;
- 管理容器的生命周期;
- 是调度的基本单位(不是单个容器)。
多个容器在一个 Pod 内协作的场景较少见(如一个主容器 + 一个日志 sidecar),但正是 Pod 使得 Kubernetes 把容器做成了可编排的资源单位。
5. Deployment / ReplicaSet / Job:高级资源控制器
Pod 虽然是运行单元,但不能直接用它来实现高可用或自动扩容,因此需要更高层的资源控制器:
控制器 | 说明 |
---|---|
Deployment | 管理 Pod 副本、实现滚动升级、重启 |
ReplicaSet | 被 Deployment 控制,保持指定数量的 Pod |
StatefulSet | 适用于有状态服务(数据库) |
DaemonSet | 每个节点运行一个 Pod(如日志收集) |
Job / CronJob | 一次性任务 / 定时任务 |
你真正使用的是这些高级资源,而不是直接控制 Pod。
6. Service / ConfigMap / Secret 等周边资源
除了运行容器,Kubernetes 还需要围绕它构建:
- 网络访问(Service)
- 配置管理(ConfigMap)
- 敏感信息存储(Secret)
- 存储挂载(PersistentVolume / Claim)
- 角色权限控制(RBAC)
这些组成了 Kubernetes 的完整功能体系。
总结:理解架构是使用 Kubernetes 的第一步
你可以把 Kubernetes 架构类比成一支现代化的军队:
构件 | 类比 | 职责 |
---|---|---|
Control Plane | 指挥部 | 决策、调度、下发命令 |
Node | 士兵营房 | 执行 Pod,干实际活 |
Pod | 战斗单元 | 运行应用、服务外部流量 |
Deployment 等 | 战术安排 | 控制作战策略与部署方式 |
推荐练习
- 用 kubectl get all -A 观察集群各组件运行情况;
- 手动部署一个 Deployment,观察创建的 Pod、RS;
- 用 kubectl describe pod 理解 Pod 的生命周期。
小结
本文从全景图入手,系统讲解了 Kubernetes 的核心构件及其关系:
- Cluster 是平台整体;
- Control Plane 是大脑,Node 是执行者;
- Pod 是最小运行单位;
- Deployment 等资源控制器负责自动化管理;
- Service/ConfigMap 等提供周边配套支持。
理解这些架构构件,是你掌握 Kubernetes 的关键第一步。
关注我,不走丢,一起玩转 Kubernetes!