[AI生成] kubelet list watch kube-apiserver流程

k8s v1.19.0

kubelet.go:277 → config.NewSourceApiserver()
                    ↓
apiserver.go:33 → cache.NewListWatchFromClient()  // 创建 ListerWatcher
                    ↓
apiserver.go:46 → cache.NewReflector()            // 创建 Reflector
                    ↓
apiserver.go:47 → r.Run(wait.NeverStop)           // 启动 Watch 循环
                    ↓
apiserver.go:39-45 → send() → updates channel     // 发送全量 Pod 状态
                    ↓
config.go:150 → Merge()                        // 合并为增量事件
                    ↓
kubelet.go:1817 → syncLoopIteration()             // 消费并处理事件

apiserver.go
- 第31-35行 : NewSourceApiserver - 创建 ListerWatcher
- 第37-48行 : newSourceApiserverFromLW - 创建 Reflector 并启动 Watch
config.go
- 第56-66行 : PodConfig 结构体定义
- 第70-80行 : NewPodConfig - 创建配置多路复用器
- 第150-207行 : Merge - 合并更新并转换为增量事件
- 第209-305行 : merge - 具体的合并逻辑
kubelet.go
- 第246-280行 : makePodSourceConfig - 创建所有配置源
- 第1814-1854行 : syncLoopIteration - 从 configCh 消费事件

 

posted on 2026-06-28 12:20  王景迁  阅读(1)  评论(0)    收藏  举报

导航