Helm 插件(helm/v1-alpha)
Helm 插件是一个可选插件,用于脚手架生成 Helm Chart,便于你通过 Helm 分发项目。
在默认脚手架下,用户可以先生成包含全部清单的打包文件:
make build-installer IMG=<some-registry>/<project-name:tag>
随后,项目使用者可以直接应用该打包文件安装:
kubectl apply -f https://raw.githubusercontent.com/<org>/project-v4/<tag or branch>/dist/install.yaml
不过在很多场景,你可能更希望提供 Helm Chart 的分发方式。这时就可以使用本插件在 dist 目录下生成 Helm Chart。
何时使用
- 你希望向用户提供 Helm Chart 来安装和管理你的项目。
- 你需要用最新的项目变更同步更新
dist/chart/下已生成的 Helm Chart:- 生成新清单后,使用
edit子命令同步 Helm Chart。 - 重要:如果你通过 DeployImage 插件创建了 Webhook 或 API,
需在(运行过
make manifests之后)使用--force标志执行edit,以基于最新清单重新生成 Helm Chart 的 values; 若你曾定制过dist/chart/values.yaml和templates/manager/manager.yaml,则在强制更新后需要手动把你的定制重新套上去。
- 生成新清单后,使用
如何使用
基本用法
Helm 插件挂载在 edit 子命令上,因为 helm/v1-alpha 依赖于先完成 Go 项目的脚手架。
# 初始化一个新项目
kubebuilder init
# 在已有项目上启用/更新 Helm Chart(先生成 config/ 下的清单)
make manifests
kubebuilder edit --plugins=helm/v1-alpha
子命令
Helm 插件实现了以下子命令:
- edit(
$ kubebuilder edit [OPTIONS])
影响的文件
本插件会创建或更新以下脚手架:
dist/chart/*
