| Line 1: |
Line 1: |
| | + | === Kubernetes operator for managing container checkpoints === |
| | + | |
| | + | '''Summary:''' Develop a Kubernetes operator that automates the management of container checkpoints |
| | + | |
| | + | Container checkpointing has recently been introduced as an alpha feature in Kubernetes. |
| | + | To enable this feature, the kubelet API was extended with an endpoint that enables the |
| | + | creation of checkpoints for individual containers. By default, all container checkpoints |
| | + | are stored as tar archives in <code>/var/lib/kubelet/checkpoints</code> using the following |
| | + | file name format: <code>checkpoint-<pod-name>_<namespace-name>-<container-name>-<timestamp>.tar</code>. |
| | + | However, the current implementation does not provide a mechanism for limiting the number |
| | + | of checkpoints, which may lead to filling up all existing disk space. This project aims to |
| | + | develop a Kubernetes operator that automates the management of checkpoints and provides |
| | + | a garbage collection mechanism to discard obsolete checkpoints. |
| | + | |
| | + | '''Links:''' |
| | + | * https://github.com/checkpoint-restore/checkpoint-restore-operator |
| | + | * https://kubernetes.io/docs/reference/node/kubelet-checkpoint-api/ |
| | + | * https://kubernetes.io/blog/2022/12/05/forensic-container-checkpointing-alpha/ |
| | + | * https://kubernetes.io/blog/2023/03/10/forensic-container-analysis/ |
| | + | * https://github.com/kubernetes/kubernetes/pull/115888 |
| | + | * https://github.com/kubernetes/enhancements/issues/2008 |
| | + | |
| | + | '''Details:''' |
| | + | * Skill level: intermediate |
| | + | * Language: Go |
| | + | * Expected size: 350 hours |
| | + | * Mentors: Adrian Reber <areber@redhat.com>, Radostin Stoyanov <rstoyanov@fedoraproject.org>, Prajwal S N <prajwalnadig21@gmail.com> |
| | + | * Suggested by: Adrian Reber |
| | + | |
| | + | |
| | === Add support for pidfd file descriptors === | | === Add support for pidfd file descriptors === |
| | | | |