---
title: Switching from Polling to CRI Event-based Updates to Container Status
min-kubernetes-server-version: 1.26
content_type: task
weight: 90
---
{{< feature-state feature_gate_name="EventedPLEG" >}}
<!-- overview -->
This page shows how to migrate nodes to use event based updates for container status. The event-based
implementation reduces node resource consumption by the kubelet, compared to the legacy approach
that relies on polling.
You may know this feature as _evented Pod lifecycle event generator (PLEG)_. That's the name used
internally within the Kubernetes project for a key implementation detail.
The polling based approach is referred to as _generic PLEG_.
## {{% heading "prerequisites" %}}
* You need to run a version of Kubernetes that provides this feature.
Kubernetes v1.27 includes beta support for event-based container
status updates. The feature is beta but is _disabled_ by default
because it requires support from the container runtime.
* {{< version-check >}}
If you are running a different version of Kubernetes, check the documentation for that release.
* The container runtime in use must support container lifecycle events.
The kubelet automatically switches back to the legacy generic PLEG
mechanism if the container runtime does not announce support for
container lifecycle events, even if you have this feature gate enabled.
<!-- steps -->
## Why switch to Evented PLEG?
* The _Generic PLEG_ incurs non-negligible overhead due to frequent polling of container statuses.
* This overhead is exacerbated by Kubelet's parallelized polling of container states, thus limiting
its scalability and causing poor performance and reliability problems.
* The goal of _Evented PLEG_ is to reduce unnecessary work during inactivity
by replacing periodic polling.
## Switching to Evented PLEG
1. Start the Kubelet with the [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
`EventedPLEG` enabled. You can manage the kubelet feature gates editing the kubelet
[config file](/docs/tasks/administer-cluster/kubelet-config-file/) and restarting the kubelet service.
You need to do this on each node where you are using this feature.