Kubernetes v1.37:KubeletInUserNamespace(即无根模式)晋升为 Beta 版本
Kubernetes v1.37 将 KubeletInUserNamespace 特性提升至 beta 阶段,允许 kubelet 及运行时等节点组件以非 root 用户身份运行。该无 root 模式源于 2018 年的实验性探索,通过限制潜在的容器逃逸漏洞影响范围来增强安全性。与 Pod 用户命名空间不同,该特性聚焦于宿主机节点组件。该功能可缓解 CVE-2022-0811 和 CVE-2023-27561 等历史漏洞带来的风险,此类漏洞曾可能赋予攻击者 root 权限。在用户命名空间中运行可将攻击影响限制在非 root 用户账户内,防止对内核或固件的修改。用户命名空间本身无法防护内核漏洞,应与其他加固措施(如 seccomp)结合使用。该特性适用于多种场景,包括生产集群、共享机器、笔记本电脑及 AI 沙箱。其工作原理是将宿主机上的非 root 用户映射为命名空间内的伪 root,这已足以满足大多数节点组件任务的需求。用户命名空间需外部创建,例如使用 Rootless Docker。KubeletInUserNamespace 特性门控现已默认启用,允许 kubelet 忽略特定的权限错误。近期改进包括对 idmapped tmpfs、用户命名空间 Pod 及可写 cgroups 的更好支持,从而启用嵌套 Kubernetes 部署。kind、minikube、Usernetes 和 k3s 等工具提供了轻松创建无 root Kubernetes 集群的便捷方式。该项目计划在未来将该特性晋升为通用可用(General Availability)阶段,并欢迎社区参与。