...
1## DISCLAIMER
2- Sig-Node community has reached a general consensus, as a best practice, to
3avoid introducing any new checkpointing support. We reached this understanding
4after struggling with some hard-to-debug issues in the production environments
5caused by the checkpointing.
6- Any changes to the checkpointed data structure would be considered incompatible and a component should add its own handling if it needs to ensure backward compatibility of reading old-format checkpoint files.
7
8## Introduction
9This folder contains a framework & primitives, Checkpointing Manager, which is
10used by several other Kubelet submodules, `dockershim`, `devicemanager`, `pods`
11and `cpumanager`, to implement checkpointing at each submodule level. As already
12explained in above `Disclaimer` section, think twice before introducing any further
13checkpointing in Kubelet. If still checkpointing is required, then this folder
14provides the common APIs and the framework for implementing checkpointing.
15Using same APIs across all the submodules will help maintaining consistency at
16Kubelet level.
17
18Below is the history of checkpointing support in Kubelet.
19
20| Package | First checkpointing support merged on | PR link |
21| ------- | --------------------------------------| ------- |
22|kubelet/dockershim | Feb 3, 2017 | [[CRI] Implement Dockershim Checkpoint](https://github.com/kubernetes/kubernetes/pull/39903)
23|devicemanager| Sep 6, 2017 | [Deviceplugin checkpoint](https://github.com/kubernetes/kubernetes/pull/51744)
24| kubelet/pod | Nov 22, 2017 | [Initial basic bootstrap-checkpoint support](https://github.com/kubernetes/kubernetes/pull/50984)
25|cpumanager| Oct 27, 2017 |[Add file backed state to cpu manager ](https://github.com/kubernetes/kubernetes/pull/54408)
View as plain text