: @kenta_tada Toyota Motor Corporation • Project Manager ◦ Develop both server-side and automotive systems ◦ Accelerate eBPF adoption across the company • Open Source Program Office in Toyota Recent Activities • eBPF Japan Community Organizer • KubeDay Japan 2024 Co-chair • The reviewer of kubernetes/system-validators • Cloud Native Community Japan Organizer • The reviewer of the Japanese translation of the book "Learning eBPF" published by O'Reilly Japan Kenta Tada
v1 maintenance mode (KEP-4569) ⚫ Since Kubernetes 1.31, if the host is running on cgroup v1, kubelet will log a warning message. ⚫ Goals ⚫ Feature Freeze ⚫ e2e Testing ⚫ Security Maintenance ⚫ Best-Effort Bug Fixes ⚫ Migration Support ⚫ Non-Goals ⚫ Removing cgroup v1 support. ✓ Deprecation and removal will be addressed in a future KEP. 5
with incompatible workloads ⚫ This KEP helps users using cgroup v1 to migrate to cgroup v2. ⚫ But users need to migrate to cgroup v2 about their own workloads. ⚫ For example, users depending on the following technologies will need to ensure the support of cgroup v2: ⚫ OpenJDK / HotSpot: jdk8u372, 11.0.16, 15 and later ⚫ NodeJs 20.3.0 or later ⚫ If users run their own tools that depend on the cgroup file system or kernel APIs related to cgroup v1, they need to update those tools to support cgroup v2. 6
checks of Kubeadm ⚫ Kubeadm is a tool built to provide best-practice "fast paths" for creating Kubernetes clusters. ⚫ Pre-flight checks of Kubeadm ⚫ kubeadm init executes some pre-flight checks to verify preconditions and avoid cluster’s startup problems. ⚫ Kubeadm uses kubernetes/system-validators for Kubeadm pre-flight checks. ⚫ During pre-flight checks, Kubeadm also checks features available in cgroup. ⚫ But the current implementation is not enough to check features available cgroup v2. 7
for pre-flight checks of cgroup v2 ⚫ How to detect features available cgroup v2 correctly ⚫ When it comes to v2, /proc/cgroups is meaningless. ⚫ Some features cannot be determined from the kernel configuration. ⚫ Understanding kernel configuration dependencies accurately ⚫ It is difficult to determine the truly necessary kernel configurations for each cgroup version. ⚫ For example, Utilization Clamping which is supported in v2 depends on CONFIG_CGROUP_SCHED. ⚫ Being careful about backward compatibility ⚫ Most OS distributions keeps the cgroup v1 related kernel config as is. 8
⚫ https://github.com/kubernetes/enhancements/tree/master/keps/sig- node/4569-cgroup-v1-maintenance-mode, (Accessed on October 4, 2024) ⚫ https://kubernetes.io/blog/2024/08/14/kubernetes-1-31-moving-cgroup- v1-support-maintenance-mode, (Accessed on October 4, 2024) ⚫ https://github.com/kubernetes/system-validators, (Accessed on October 4, 2024) ⚫ https://github.com/kubernetes/enhancements/issues/4569, (Accessed on October 4, 2024) 9