Helm 插件(helm/v1-alpha
)
Helm 插件是一个可选插件,可以用来搭建 Helm 图表,使您能够使用 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 图表来封装您的解决方案。如果是这样,您可以使用此插件在 dist
目录下生成 Helm 图表。
何时使用它
- 如果你想为用户提供一个 Helm 图表,以便他们安装和管理你的项目。
- 如果您需要使用最新的项目更改来更新位于
dist/chart/
目录下生成的 Helm 图表:- 生成新清单后,使用
edit
选项来同步 Helm 图表。 - 重要: 如果您使用 DeployImage 插件创建了一个 webhook 或 API,您必须使用
--force
标志运行edit
命令,以便根据最新的清单(在运行make manifests
之后)重新生成 Helm chart 的值,以确保 HelmChart 的值得到相应更新。在这种情况下,如果您自定义了dist/chart/values.yaml
和templates/manager/manager.yaml
下的文件,您需要在重新生成 Helm chart 之后,手动在最新更改的基础上重新应用您的自定义内容。
- 生成新清单后,使用
如何使用它?
基本用法
Helm 插件与 init
子命令和 edit
子命令关联。
# 使用 helm chart 初始化一个新项目kubebuilder init --plugins=helm/v1-alpha
# 通过 Helm 插件启用或更新现有项目的 Helm chart
# 在运行编辑命令之前,请运行 `make manifests` 以在 `config/` 目录下生成清单。make manifests
kubebuilder edit --plugins=helm/v1-alpha
子命令
该 Helm 插件实现了以下子命令:
-
编辑 (
$ kubebuilder edit [选项]
) -
初始化 (
$ kubebuilder init [选项]
)
受影响的文件
以下架构将由此插件创建或更新:
dist/chart/*