Kubernetes 控制器(Controller)详解【20260530】001篇
文章目录
- Kubernetes 控制器(Controller)详解
- 一、控制器是什么?——核心思想
- 二、控制器的通用工作模式(Reconcile Loop)
- 每一步的含义
- 两个必须遵守的设计铁律
- 三、控制器在集群架构中的位置
- 四、内置工作负载控制器详解
- 1. ReplicaSet(RS)—— 副本守护者
- 2. Deployment —— 无状态应用的"标准答案"
- 3. StatefulSet —— 有状态应用的专用控制器
- 4. DaemonSet —— 每个节点一个(节点级守护进程)
- 5. Job —— 一次性任务
- 6. CronJob —— 定时任务(基于 Job)
- 五、不只是 Workload —— 其他关键内置控制器
- 六、控制器底层实现机制(Informer + WorkQueue 模式)
- Informer 做了什么?
- Reconcile 的典型骨架(伪代码)
- 七、自定义控制器与 Operator 模式
- 公式
- 工作流程
- 开发工具链
- CRD 的最小示意
- 八、一张图总览:从"你写 YAML"到"Pod 跑起来"
- 九、常见易混点速查
Kubernetes 控制器(Controller)详解
一、控制器是什么?——核心思想
Kubernetes 的控制器是整个系统"自愈能力"和"自动化运维"的基石。它的本质可以用一句话概括:
控制器就是一个永不停止的控制循环(Control Loop / Reconciliation Loop),持续驱动集群的「实际状态」向「期望状态」收敛。
经典比喻——恒温器:
你设定温度(Desired State) → 温控器读取房间实际温度(Actual State) → 对比差异,决定开/关空调 → 循环往复,直到实际 == 期望K8s 控制器做的事完全一样,只不过"温度"变成了Pod 副本数、Job 完成状态、Node 健康状态……,而"开空调"变成了通过 API Server 创建/删除 Pod、更新对象状态等。
二、控制器的通用工作模式(Reconcile Loop)
所有 K8s 控制器(内置 + 自定义)共享同一套骨架:
┌──────