Nelm:Helm 3 替代品
主要特点:基于改进和部分重写的 Helm 3 代码库,具备类似
terraform plan
的能力、用 Server-Side Apply 替代 3-Way Merge、秘密管理、高级资源排序能力、改进的资源状态/错误跟踪、部署期间连续打印日志等事件及错误、修复 Helm 3 诸多 bug 等。- 高级资源排序:重写 Helm 的资源部署子系统,构建有向无环图实现先进资源排序,如
werf.io/weight
、werf.io/deploy-dependency-<id>
等注解。 - 3-Way Merge 被 Server-Side Apply 替代:解决 Helm 3-Way Merge 的问题,采用 Kubernetes 的 Server-Side Apply 进行资源更新。
- 资源状态跟踪:从底层构建强大的资源跟踪系统,能可靠检测资源就绪等状态,自动跟踪部分依赖资源等。
- 部署期间打印日志和事件:找到部署资源的 Pod 并定期打印容器日志,可通过注解配置。
- 发布计划:
nelm release plan install
能准确展示下一次发布在集群中的操作及资源版本差异。 - 加密值和加密文件:
nelm chart secret
命令管理加密值和文件,在模板中可使用。
- 高级资源排序:重写 Helm 的资源部署子系统,构建有向无环图实现先进资源排序,如
- 安装:遵循GitHub Releases上的说明。
快速入门:
- 创建新图表目录并进入。
- 创建
Chart.yaml
。 - 生成
Chart.lock
。 - 创建
values.yaml
。 - 部署第一个版本,展示部署过程中的日志和资源状态等信息。
- 计划第二个版本的部署并更新资源。
- CLI 概述:包含发布、图表、秘密、依赖、仓库及其他等各类命令,如
release install
等。 - 与 Helm 的兼容性:基于 Helm 3 代码库,与 Helm Charts 和 Releases 向后兼容,CLI 布局等不同但支持大部分相同功能,未计划支持 Helm 插件。
- 文档:特定功能在 Nelm 文档中描述,通用文档参考 Helm 文档和 werf 文档,包括加密值文件使用等。
- 已知问题:不支持 Kubernetes 版本早于 v1.14,需启用
ServerSideApply
功能门(默认从 Kubernetes v1.16 开始启用)。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。