Kubernetes控制器的通用工作模式(Reconcile Loop)【20260530】003篇
文章目录
- K8s 控制器核心工作流程详解(Informer + 队列 + 调谐循环)
- 一、整体流程总览
- 二、模块1:API Server → Informer/Reflector(本地缓存)
- 1. 组件角色
- 2. 工作逻辑
- 3. 设计目的(关键)
- 三、模块2:WorkQueue 工作队列(去重/削峰/重试)
- 1. 数据流向
- 2. 核心能力(三大作用)
- 四、模块3:Reconcile / Sync 调谐循环(控制器核心逻辑)
- 前置说明
- 分步解析
- ① Get 当前实际状态
- ② 对比 Spec(期望状态)
- ③ 计算差异 → 生成动作(Act)
- ④ 调用 API Server 执行操作
- ⑤ 更新 Status 状态
- 补充:循环特性
- 五、全链路典型场景举例(Deployment 控制器)
- 六、架构设计优势总结
- 七、易混淆概念区分
K8s 控制器核心工作流程详解(Informer + 队列 + 调谐循环)
这张图是Kubernetes 控制器标准工作模型,也是所有控制器(Deployment、StatefulSet、Node 控制器等)的底层通用架构,下面分模块逐段拆解原理、作用、流程与核心逻辑。
一、整体流程总览
整体链路:API Server → Informer 本地缓存 → WorkQueue 任务队列 → Reconcile 调谐逻辑
核心思想:持续对比「期望状态」和「实际状态」,不断驱动集群收敛到期望状态(K8s 声明式 API 的核心)。
二、模块1:API Server → Informer/Reflector(本地缓存)
1. 组件角色
- API Server:K8s 集群唯一入口,接收所有资源的增删改查请求,存储数据到 Etcd。
- Reflector(反射器):Informer 的底层组件,长轮询监听API Server 的资源变化。
- Informer:控制器的本地缓存层,本质是内存数据
