Nelm 1.0 发布:Helm-chart 兼容的 Helm 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。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
AigcPanel v1.2.0 发布:让 AI 创作效率与合规性双升级
作为开源免费的一站式 AI 数字人系统,AigcPanel 迎来重磅更新!v1.2.0 版本聚焦内容创作全流程优化,用技术民主化理念降低数字人创作门槛,让小白也能轻松玩转专业级 AI 工具。 软件介绍 AigcPanel是一个简单易用的一站式免费开源AI数字人系统,小白也可使用。 支持智能直播、视频合成、声音合成、声音克隆、声音替换,简化本地模型管理、一键导入和使用AI模型。 禁止使用本产品进行违法违规业务,使用本软件请遵守中华人民共和国法律法规。 重磅更新! 内容生产效率大飞跃:长文本分段合成功能 合规创作无后顾之忧:直播违规词一键检测功能 SRT 字幕转音频功能 直播界面优化双重保障:视频尺寸预设 + 比例参考提醒 为什么选择 AigcPanel? ✅ 零门槛操作:本地部署操作简单,小白也能秒变 AI 大神! ✅ 全链路功能整合,创作效率倍增 ✅ 开源生态加持,灵活扩展无上限 ✅ 适配多元场景,性价比无可替代 ✅ 免费模型:本地搭建,一键快速启动! ✅ 云端算力:免部署,高性能模型即点即用! ✅ VIP 专属模型:解锁更高精度、更强大功能! 功能特性 支持视频数字人合成,支持视频画...
-
下一篇
Zig 语言通用代码生成器,已发布逻辑冒烟测试版三之二
Zig 语言通用代码生成器,已发布逻辑冒烟测试版三,功能可用性大大增强,欢迎试用。 逻辑冒烟测试版三升级 Zig 语言 0.14.1 支持图片功能,支持图片删除功能 支持弹性登录模块,此模块支持密码错 5 次锁定账号功能,并提供了账号解锁功能 注意,此版本有登录功能,但是没有权限拦截功能 此版本尚不支持日期时间和日期字段类型 此版本尚未支持哑数据功能和枚举 此版本携带的示例中比较大的示例因为超过了 SQLite 模块的长度限制,不能编译运行。尝试先进功能请使用课程管理系统示例。 此版本目前只支持 SQLite 数据库。 介绍视频请见: https://www.bilibili.com/video/BV1VtHQzrExY/ https://www.bilibili.com/video/BV1YpeUzhEiT/ 逻辑的项目地址请见:https://gitee.com/jerryshensjf/Logic Zig语言通用代码生成器:逻辑 动词算子式通用代码生成器阵列全面开源 动词算子式通用代码生成器阵列已全面开源。本通用代码生成器的两个Jar软件依赖如下,皆已全部开源: 曲速引擎前端代码...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL数据库在高并发下的优化方案
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker容器配置,解决镜像无法拉取问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Dcoker安装(在线仓库),最新的服务器搭配容器使用