找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

268

积分

0

好友

34

主题
发表于 昨天 05:24 | 查看: 15| 回复: 0

Helm,作为Kubernetes应用包管理器,已正式发布4.0.0版本。这是Helm在过去六年里的首次重大升级,也标志着其在云原生计算基金会(CNCF)指导下的十周年。此次更新的核心目标是解决在可扩展性、安全性和开发者工作流方面的一系列挑战。

核心升级:迈向现代部署协调器

Helm 4的SDK包含多项增强功能,旨在提升集成度和开发者体验。它采用了现代化的Go日志接口以支持多日志记录器,并允许通过可嵌入的命令将Helm功能直接集成到其他应用程序中。此外,Helm 4现在原生支持服务器端应用(Server-Side Apply),这是将kubectl apply命令的逻辑移至Kubernetes API服务器的一项功能。这一变化反映了Kubernetes生态系统的整体趋势,确保基于Helm构建的集成更加强大,并且与现代集群的行为模式保持物理上的一致。

插件系统也进行了重构:传统的Helm插件依然有效,但现在用户也可以编写基于WebAssembly (WASM)的插件,以获得更好的可移植性。同时,在Chart分发、性能以及Chart签名和测试自动化机制方面也有所改进。

根据Helm联合创始人Rimantas Mocevicius的博客文章,这些变化既包含了新特性,也清理了Helm v3时代积累下来的技术债务。

开发路线与社区反馈

引导Helm 4开发的HIP-0012提案规划了从2024年底开始规划、2025年中完成工程开发、2025年11月发布的路线图。它强调了团队能够在合理时间内交付的功能开发,并审慎地引入了破坏性变更。针对Kubernetes集成的改进,如服务器端应用、现代化的插件架构和Chart API的优化,都是该路线图的一部分。

从更广泛的用户视角来看,Jimmy Song在其博客中阐述了此次发布如何让Helm“超越模板工具”并走向现代化。他指出,加入服务器端应用使其更贴近GitOps方法论,而可复现的构建、用于插件的WASM以及像kstatus这样的状态解析工具,都使其与现代Kubernetes范式保持一致。这些变化意味着Helm正在从一个Chart渲染器转变为更偏向于部署协调器的角色。

悬而未决的挑战:CRD管理

Helm生态系统中一个更具争议性的问题是对自定义资源定义(CRD)的支持。一个旨在提供更健壮的CRD更新行为的提案(包括合并新版本、追加版本列表、保留元数据以及确保向后兼容的回滚路径)已被提交。然而,截至Helm 4.0.0初始版本发布,这些提议尚未被纳入。Helm仍然会在安装Chart时,安装放置在特殊crds/目录中的CRD,但在常规的升级过程中不会升级或删除CRD。现有文档警告称,crds文件夹中更新的CRD会被跳过,仅发出警告,而不会应用。

社区对此项缺失表达了失望。在发布后不久的Reddit讨论中,用户询问CRD行为是否有所改善。一位用户评论道:“CRD方面仍然没有改进?::(”,指出Helm仍然无法安全地管理CRD生命周期。另一位用户则报告,他们组织的工具和CLI工作流依赖于基于注解的CRD,要适应Helm的CRD逻辑的任何变化都并非易事。

其他评论,如来自Heinan Cabouly的观点认为,像Argo CD这样的GitOps工具早在几年前就已经解决了Helm最大的工作流缺口,暗示Helm 4更像是追赶而非重塑。尽管如此,Helm 4仍被视为一个重要的里程碑,它提升了项目的长期生存能力,而非一次增量补丁。

部署安全与性能提升

实践者和博主们对Helm 4在部署安全性方面的改进表示欢迎,特别是新的基于就绪状态的控制机制,减少了部署期间依赖组件之间的竞争条件。Pierre-Louis Gueugnon在为Enix撰写的文章中赞扬了更智能、基于内容的Chart缓存和性能改进,对于进行频繁、大规模部署的团队来说,这些被视为切实提升开发体验的升级。

展望未来,Helm维护者表示,那些最初未在v4中采纳的特性可能会在后续小版本甚至Helm 5中考虑。社区将密切关注CRD升级功能何时能变得安全、稳定且有充分的文档支持,以便被广泛采用。

您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-3 13:45 , Processed in 0.077272 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表