跟下kubele的源码调用过程,k8s源码很多,但是看每个细节会比较困难,
所以这里基于主线:Pod创建 ,从 apiService开始(不包含apiService 细节) 到 CRI结束(不包含 CRI 细节)
1:kubelet 通过 go client watch apiService的Pod事件
2:kubelet 响应Pod事件并委托 CRI 创建
图说明: 查看大图
- 左侧绿色线表示启动过程,到 startKubelet 函数时启动了 协程(程序主处理流程)。
- 顶部黄色线表示Watch api service的Pod事件。
- 红色虚线是Pod事件传递到主处理流程。
- 红色实线是 主处理流程 处理 Pod事件,syncPodFn 实际是 syncPod函数。
-
最终黑色线指向CRI。