1、helmCharts介绍
helmCharts 主要是用来在 Kustomize 中使用 helm 的参数,在 gitops 的场景中,一些基础服务、组件都是有现成的 helm chat 包,所以我们可以直接拿来使用,没有必要重复造轮子,只需要在 git 仓库中添加一个 kustomization.yaml 来引用 helmCharts ,也就不需要把整个 helm 导入到 git 仓库中。
不过 Kustomize 对整个 helmCharts 领域的 helm chart inflation 的支持有限
要启用 helm chart inflation generator,您必须enable-helm按如下方式指定标志:
kustomize build --enable-helm
helmCharts支持的具体参数字段如下:
- name:您要使用的图表的名称。
- repo: [可选] 包含图表的存储库的 URL。如果提供,生成器将尝试获取远程图表。否则它将尝试加载本地图表chartHome。
- chartHome: [可选] 提供本地图表的父目录路径。
- version: [可选] 图表的版本。如果省略,将使用最新版本。
- releaseName: [可选] 将在图表中设置的发布名称。
- namespace–namespace : [可选] 命令中的标志将使用的命名空间helm template。
- valuesFile: [可选] 值文件的路径。
- valuesInline: 保存直接指定的值映射,而不是在单独的文件中。
- valuesMerge:指定如何处理valuesInline值。合法值:“合并”、“覆盖”、“替换”。默认为“覆盖”。
- includeCRDs:指定 Helm 是否还应生成 CustomResourceDefinitions。默认为“假”。
- configHome: [可选] kustomize 应该通过环境变量传递给 helm 的值 HELM_CONFIG_HOME。如果省略,{tmpDir}/helm则使用,where{tmpDir}是一些临时的。
- skipHooks:[可选] 膨胀图表时跳过运行挂钩。默认情况下,Kustomize 使用的膨胀过程将呈现模板目录的所有内容,这可能导致输出与使用helm install. 使用此选项可以抑制此行为。
- additionalValuesFiles:[可选] 除了当前值文件之外,要使用的值文件的本地文件路径列表。
- skipTests: [可选] 跳过模板输出的测试
- apiVersions: [可选] 用于 Capabilities.APIVersions 的 kubernetes apiversions
- nameTemplate: [可选] 指定用于命名发布的名称模板
2、helmCharts使用
下面使用 Kustomize 通过 helm chat 的方式来部署 Nginx 应用
- valuesInline方式
helmCharts:
- name: nginx
releaseName: nginx
version: 13.2.33
repo: https://charts.bitnami.com/bitnami
valuesInline:
nginx:
replicaCount: 3
- valuesFile方式
helmCharts:
- name: nginx
releaseName: nginx
version: 13.2.33
repo: https://charts.bitnami.com/bitnami
valuesFile: values.yaml
# values.yaml
nginx:
replicaCount: 3
评论区