KEP-3386keps/sig-node/3386-kubelet-evented-pleg
Kubelet Evented PLEG for Better Performance
When EventedPLEG is enabled, kubelet watches the CRI GetContainerEvents stream. Each valid CONTAINER_STOPPED_EVENT asks GenericPLEG to relist the affected pod immediately. GenericPLEG remains the only source of pod lifecycle events. It continues to relist all pods at the normal interval, reads the current runtime state, updates the kubelet pod cache, and em… Full summary
When EventedPLEG is enabled, kubelet watches the CRI GetContainerEvents stream. Each valid CONTAINER_STOPPED_EVENT asks GenericPLEG to relist the affected pod immediately. GenericPLEG remains the only source of pod lifecycle events. It continues to relist all pods at the normal interval, reads the current runtime state, updates the kubelet pod cache, and emits PodLifecycleEvent objects. Evented PLEG does not update kubelet state directly. The CRI event stream is an optimization, not a source of truth. If the stream is unavailable, delayed, or delivers duplicate or stale events, kubelet may lose the latency improvement, but Generic PLEG continues to reconcile runtime state.
Facts
- Approvers
- @derekwaynecarr
- Reviewers
- @mrunalp@sergeykanzhelev@mikebrow
- PRR approvers
- @deads2kalpha
- Tracking issue
- #3386(opens GitHub in a new tab) openreopenedsig/nodestage/alphatriage/accepted
- Milestones
- alpha v1.26beta v1.38
- Participating SIGs
- none
- Feature gates
- EventedPLEG
- Created / last updated
- 2022-06-13 / none