Kubernetes 1.28 版本发布概述
Kubernetes 1.28 版本,代号为“Planternetes”,由云原生计算基金会(CNCF)发布。该版本引入了多项新功能和改进,同时也对一些旧功能进行了弃用和移除。
主要新功能
- 混合版本代理:kube-apiserver 现在可以处理控制平面组件版本不一致的请求,通过将请求代理到合适的对等节点来实现。
- CDI 注入支持:支持将容器设备接口(CDI)注入到容器中。
- Sidecar 容器感知:引入了原生 Sidecar 容器支持,通过
restartPolicy字段标记 Init 容器为 Sidecar,Kubelet 只需等待 Sidecar 容器启动,而不需要等待其完成。
Beta 功能
- ValidatingAdmissionPolicies:该功能升级为 Beta,提供了声明式和进程内的验证准入 Webhook 替代方案,使用通用表达式语言(CEL)来描述验证规则。
- Linux Swap 空间支持:Kubelet 现在支持在 Linux 节点上启用 Swap 内存空间,允许 Kubernetes 工作负载使用节点的 Swap 空间。
已弃用和移除的功能
- CephFS 内置插件弃用:CephFS 的内置插件已被弃用。
- GCE PD 的 CSI 迁移移除:GCE PD 的 CSI 迁移功能已被移除。
稳定功能
- 非优雅节点关闭恢复:该功能已经稳定,允许状态工作负载在节点突然关闭或无法恢复的情况下在另一个节点上重启。
- 控制平面和节点版本偏差支持:控制平面组件(如 kube-apiserver)和节点组件(如 Kubelet 和 kube-proxy)之间的版本偏差支持已经稳定,允许两者的版本差距最多为三个小版本(n-3)。
安全漏洞修复
该版本修复了三个高严重性漏洞(CVE-2023-3676、CVE-2023-3893 和 CVE-2023-3955),这些漏洞与 Windows 节点上的输入验证不足有关,可能导致权限提升。
包仓库更新
Kubernetes 引入了新的 Debian 和 RPM 包仓库 pkgs.k8.io,取代了旧的 apt.kubernetes.io 和 yum.kubernetes.io 仓库。旧仓库从 2023 年 9 月 13 日起被冻结并弃用。
其他改进
- 默认 StorageClass 自动和追溯分配:该功能已经稳定。
- 匹配条件的准入 Webhook:该功能升级为 Beta。
总结
Kubernetes 1.28 版本包含了 45 项增强功能,其中 19 项进入 Alpha 阶段,12 项成为稳定功能,14 项升级为 Beta 阶段。此外,3 项功能被弃用或移除。CNCF 在 2023 年 9 月 6 日举办了一次网络研讨会,讨论该版本的变更内容。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。