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.yamltemplates/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/*