您现在的位置是:首页 > 文章详情

Nelm 1.0 发布:Helm-chart 兼容的 Helm 3 替代方案

日期:2025-09-11点击:3

Nelm 正式达到 1.0 里程碑。Nelm 是一个开源命令行工具,用于管理 Helm charts 并部署到 Kubernetes。它基于 Helm 3 代码,功能几乎和 Helm 一样,并且有所提升,还增加了额外功能。Nelm 与 Helm charts 和 Helm releases 向后兼容,Helm 用户可轻松迁移。熟悉 werf 的用户会发现,Nelm 就是去掉 giterminism 和容器构建/分发/清理的 werf。

Nelm 相比 Helm 3 的主要优势包括:

高级资源排序

首先,Nelm 的 Helm 部署子系统从零重写。部署时,Nelm 会构建一个有向无环图(DAG),表示所有要在集群中执行的操作,然后按图执行。DAG 帮助实现了高级资源排序,比如:

  • werf.io/weight 注解:类似 helm.sh/hook-weight,但可用于非 hook 资源,同权重资源并行部署;
  • werf.io/deploy-dependency-<id> 注解:让 Nelm 等待另一个资源就绪或存在后再部署该资源,是安排部署顺序最有效的方式;
  • <id>.external-dependency.werf.io/resource 注解:等待非 release 资源(如第三方 Operator 创建的资源)就绪;
  • 还支持 Helm 原生的 hook 和 hook 权重排序。

Server-Side Apply 取代 3-Way Merge

Nelm 用 Server-Side Apply (SSA) 替代了 Helm 里有问题的 3-Way Merge (3WM)。

3WM 是客户端生成补丁来更新集群资源,但假设之前的 release manifest 都成功应用,这不总是成立。比如资源无效没更新,或者 release 提前中止,下一次发布时会产生错误补丁,导致 Helm 显示成功但实际改动错误,问题严重。

2019 年,Kubernetes 推出 SSA 更新资源,v1.22(2021 年 8 月)稳定。SSA 在 Kubernetes 端生成补丁,解决了 3WM 的问题,Flux 等部署工具也广泛采用。但 Helm 中替换工作量大。Nelm 重写部署子系统,从一开始就用 SSA,解决了 3WM 的老大难问题。

资源状态追踪

Nelm 从零构建了强大的资源追踪功能:

  • 可靠检测资源是否就绪、存在、缺失或失败;
  • 通过分析 Custom Resource 的状态字段,启发式判断其就绪状态,适用约一半的 CR,且无误报;
  • 自动发现并单独追踪某些依赖资源,如 Deployment 的 Pod;
  • 部署过程中每隔几秒打印资源状态、错误等信息表;
  • 通过注解可按资源配置追踪行为。

部署时打印日志和事件

部署时,Nelm 会找到相关 Pod,定期打印容器日志到控制台。加上 werf.io/show-service-messages: "true" 注解,还可以打印资源事件。日志和事件打印通过注解可调整。

加密值和加密文件

nelm chart secret 命令管理加密的 values 文件(如 secret-values.yaml)或任意加密文件(如 secret/mysecret.txt)。模板渲染时文件内存解密,可通过 .Values.my.secret.value 和 {{ werf_secret_file "mysecret.txt" }} 引用。

发布计划

nelm release plan install 命令精确说明下一次发布时集群会发生什么,展示当前资源与发布后资源的 100% 准确差异,使用可靠的干运行 Server-Side Apply,非客户端模拟。

未来规划

未来 Nelm 计划包括:

  • 实现 Helm 模板替代方案;
  • 支持直接从 Git 拉取 charts;
  • 提供公共 Go API,方便第三方集成 Nelm;
  • 改进 CLI 体验,增强重实现命令与 Helm 原命令一致性;
  • 重构 chart 依赖管理;
  • 将内置密钥管理迁移到 Mozilla SOPS。
原文链接:https://www.oschina.net/news/371476
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章