pkg/kubelet/checkpointmanager/README.md
This folder contains a framework & primitives, Checkpointing Manager, which is
used by several other Kubelet submodules, devicemanager, pods,
cpumanager, memorymanager, dra and allocation, to implement
checkpointing at each submodule level. As already explained in above Disclaimer
section, think twice before introducing any further checkpointing in Kubelet.
If still checkpointing is required, then this folder provides the common APIs
and the framework for implementing checkpointing. Using same APIs across all
the submodules will help maintaining consistency at Kubelet level.
Below is the history of checkpointing support in Kubelet.
| Package | First checkpointing support merged on | PR link | Status |
|---|---|---|---|
| kubelet/dockershim | Feb 3, 2017 | [CRI] Implement Dockershim Checkpoint | Removed |
| devicemanager | Sep 6, 2017 | Deviceplugin checkpoint | In use |
| kubelet/pod | Nov 22, 2017 | Initial basic bootstrap-checkpoint support | In use |
| cpumanager | Oct 27, 2017 | Add file backed state to cpu manager | In use |
| memorymanager | Feb 9, 2021 | Memory manager | In use |
| dra | Mar 12, 2023 | kubelet dra: Add checkpointing mechanism in the DRA Manager | In use |
| dra | Jul 24, 2024 | DRA:refactor checkpointing | In use |
| allocation | Feb 28, 2025 | Move pod resource allocation management out of the status manager | In use |
Note: Dockershim has been removed from the Kubernetes project as of release 1.24, as a consequence dockershim checkpoint support has also been removed.