Line 178: |
Line 178: |
| * Mentors: Radostin Stoyanov <rstoyanov@fedoraproject.org>, Pavel Tikhomirov <ptikhomirov@virtuozzo.com>, Prajwal S N <prajwalnadig21@gmail.com> | | * Mentors: Radostin Stoyanov <rstoyanov@fedoraproject.org>, Pavel Tikhomirov <ptikhomirov@virtuozzo.com>, Prajwal S N <prajwalnadig21@gmail.com> |
| * Suggested by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> | | * Suggested by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> |
| + | |
| + | === Kubernetes operator for managing container checkpoints === |
| + | |
| + | '''Summary:''' Develop a Kubernetes that automates the management of 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://kubernetes.io/docs/concepts/extend-kubernetes/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> |
| + | * Suggested by: Adrian Reber |
| | | |
| == Suspended project ideas == | | == Suspended project ideas == |