PLEG模块解析
基于kubernetes v1.18.6
PLEG
(Pod Lifecycle Event Generator
) 通过CRI
接口轮询容器状态,然后与内存中的容器状态做比对,并发送相应事件。
PLEG
是kubelet
的核心模块,PLEG
会周期性调用container runtime
获取本节点containers/sandboxes
的信息,
并与自身维护的pods cache
信息进行对比,生成对应的PodLifecycleEvent
,
然后输出到eventChannel
中,通过eventChannel
发送到kubelet syncLoop
进行消费,
然后由kubelet syncPod
来触发pod
同步处理过程,最终达到用户的期望状态。