Kubernetes v1.30版本概览

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

Kubernetes v1.30版本即将发布,带来动态资源分配、Linux节点内存交换支持、用户命名空间和结构化授权配置等重要更新。动态资源分配改善了资源管理,内存交换支持增强系统稳定性,用户命名空间提升Pod隔离,结构化授权配置实现更细粒度的请求验证。此外,基于容器资源指标的水平Pod自动扩缩功能也将稳定。

🔎

延伸解读

动态资源分配的结构化参数改进

动态资源分配(DRA)在v1.26作为alpha引入,但原有设计对核心Kubernetes不透明,导致集群自动扩缩器或作业调度器无法模拟资源分配效果。v1.30引入结构化参数,通过预定义“结构化模型”让驱动以标准化方式描述资源,使调度器等组件能快速决策,无需与DRA驱动反复通信。本版本重点定义框架并实现“命名资源”模型,支持按属性选择资源实例。

Linux节点内存交换策略的稳定性调整

v1.30对Linux节点交换支持进行重要调整:移除UnlimitedSwap行为,默认使用NoSwap模式。在NoSwap下,kubelet可在启用交换的节点运行,但Pod不使用交换空间,且需设置--fail-swap-on=false。LimitedSwap模式允许Pod部分虚拟内存被换出,但容器及其父Pod不能超出内存限制使用交换。这一变化强调系统稳定性,SIG Node将更新文档帮助用户理解新实现。

用户命名空间与结构化授权配置的beta进展

用户命名空间迁移至beta,增强Pod隔离,支持带卷和不带卷的Pod以及自定义UID/GID范围,有助于缓解高危CVE。结构化授权配置也进入beta并默认启用,支持创建多Webhook授权链,按顺序验证请求,并可设置失败时显式拒绝。配置文件还支持CEL规则预过滤请求,减少不必要的Webhook调用,且API服务器会在配置文件修改时自动重载授权链。

自动扩缩与准入控制的增强

基于容器资源指标的水平Pod自动扩缩(HPA)在v1.30稳定,允许根据单个容器的资源使用而非Pod聚合值进行扩缩。同时,CEL用于准入控制提供了更动态的表达方式,可直接通过Kubernetes API定义和执行细粒度策略,无需依赖Webhook访问控制器,从而在保持性能的同时增强安全与治理能力。这些改进使集群操作更稳健、适应更多用例。

❓

Q&A

Kubernetes v1.30版本有哪些重要更新?

Kubernetes v1.30版本带来了动态资源分配、Linux节点内存交换支持、用户命名空间和结构化授权配置等重要更新。

动态资源分配在Kubernetes v1.30中有什么改进?

动态资源分配改善了资源管理,允许更快速的资源分配和决策,并引入了结构化参数以支持更清晰的资源请求。

Kubernetes v1.30如何增强Linux节点的内存交换支持?

Kubernetes v1.30将内存交换支持默认设置为NoSwap模式,以提高系统稳定性,允许Pods不使用页面文件。

用户命名空间在Kubernetes v1.30中有什么新特性?

用户命名空间功能迁移到beta版本,增强了Pod隔离,支持自定义UID/GID范围。

结构化授权配置在Kubernetes v1.30中如何工作?

结构化授权配置将默认启用,允许创建多重Webhook的授权链,实现更细粒度的请求验证。

Kubernetes v1.30中的水平Pod自动扩缩功能有什么变化?

水平Pod自动扩缩功能将在v1.30版本中稳定,支持基于单个容器的资源使用进行自动扩缩。

🏷️

标签

➡️

继续阅读