Kubernetes v1.31,代号 "Elli",在庆祝 Kubernetes 项目十周年之后,带来了一系列令人瞩目的新特性和改进,进一步巩固了其在云原生技术领域的领导地位。此版本包含 45 项增强功能,其中 11 项已升级到稳定版,22 项正在进入 Beta 版,12 项已升级到 Alpha 版。
稳定性提升:为生产环境保驾护航
在 Kubernetes v1.31 中,11 项功能晋升为稳定版,其中包括:
1. AppArmor 支持正式 GA:用户可以通过设置容器 `securityContext` 中的 `appArmorProfile.type` 字段,使用 AppArmor 来保护容器安全。
2. Kube-proxy 入口连接可靠性增强:该功能通过连接排空机制,提高了 type: LoadBalancer 和 externalTrafficPolicy: Cluster类型服务的入口连接可靠性,有效减少流量丢失。
3. Persistent Volume 最后阶段转换时间 GA:新增的 PersistentVolumeStatus字段记录了 PersistentVolume 最后一次转换阶段的时间戳,方便用户进行监控和性能分析。
Beta 功能:探索更多可能性
22 项功能进入 Beta 阶段,为用户提供了更多可探索的新特性,包括:
1. nftables 后端支持:nftables 作为 iptables 的继任者,在性能和可扩展性方面更具优势,现在已进入 Beta 阶段。
2. PersistentVolume 回收策略变更:确保即使在关联的 PersistentVolumeClaim (PVC) 被删除后,PersistentVolume (PV) 回收策略仍然得到遵守,有效防止卷泄漏。
3. 多 Service CIDR 支持:允许用户和集群管理员动态修改 Service CIDR 范围,无需停机。
4. Service 的流量分配:trafficDistribution字段为底层实现提供了路由决策的指导,增强了服务的流量工程能力。
5. Kubernetes VolumeAttributesClass ModifyVolume:提供了一个通用的 Kubernetes 原生 API,用于修改动态卷参数,例如预配置的 IO,允许工作负载在线垂直扩展其卷,以平衡成本和性能。
Alpha 功能:展望未来
12 项功能进入 Alpha 阶段,为 Kubernetes 的未来发展指明了方向,其中包括:
1. 新的 DRA API:更新后的动态资源分配 (DRA) API 和设计,通过结构化参数提高了资源信息和请求的透明度,并支持集群自动扩展等功能。
2. 镜像卷支持:允许将 OCI 镜像直接用作 Pod 中的卷,满足 AI 和 ML 等新兴用例的需求。此特性允许用户在 pod 中指定镜像引用作为卷,同时在容器内重用它作为卷挂载。您需要启用 ImageVolume 特性才能尝试此特性。
对 AI 的支持
Kubernetes v1.31 引入了一项实验性功能,允许在 Pod 中直接使用 OCI 镜像作为卷,从而让访问容器化数据和模型更加轻松,有助于 AI/ML 工作流程。云原生技术社区对这项功能分外激动。这是一个被Kubernetes 用户关注到的酷炫功能。
CPUManager 静态策略:跨核分发 CPU
在 Kubernetes v1.31 中,一个特别引人注目的更新是 CPUManager 静态策略的 distribute-cpus-across-cores 选项,它目前处于 Alpha 阶段,默认被隐藏。此特性通过修改分配策略来解决争用问题,指示 CPUManager 尽可能将 CPU(硬件线程)分发到尽可能多的物理核上。这种分发旨在最小化共享同一物理核的 CPU 之间的争用,从而通过为应用提供专用的核资源来潜在提高性能。
弃用和移除:精简架构,提升效率
为了项目的整体健康发展,v1.31 版本中也有一些功能被弃用或移除,包括:
1. Cgroup v1 进入维护模式:鼓励用户尽快切换到 cgroup v2,以获得更好的功能和性能。
2. 移除所有云提供商的树内集成:完成所有云提供商集成的外部化进程,使 Kubernetes 成为真正的供应商中立平台。
3. 移除 kubelet --keep-terminated-pod-volumes命令行标志:该标志已于 2017 年弃用,现在正式移除。
4. 移除 CephFS 和 Ceph RBD 卷插件:建议用户使用相应的 CSI 驱动程序替代。
Kubernetes v1.31 的发布,体现了 Kubernetes 社区蓬勃发展的活力和对未来的坚定信心,也预示着 Kubernetes 将继续在云原生技术领域扮演着核心角色,推动容器编排和集群管理技术的不断进步。