我通过 ArgoCD 使用 kustomize 和 helm 来管理我的 Kubernetes 集群,这需要在环境之间对 value.yaml 文件进行一些小的更改。
我的文件夹结构是:
.
|-- base
| |-- ns.yaml
| |-- kustomization.yaml
| `-- values.yaml
`-- overlay
|-- kustomization.yaml
`-- values.yaml
helm图表在base/kustomization.yaml中定义,overlay/kustomization.yaml从../base加载资源
我找不到一种方法让 kustomize 使用覆盖目录中的值文件渲染图表。这可能吗?
我尝试使用 HelmChartInflationGenerator 资源并对其进行修补 - 没有任何反应
我尝试在overlay\kustomization.yaml中再次定义舵图 - 我遇到重复的资源冲突
我看到很多围绕这个问题的讨论。到目前为止,还没有简单直接的方法可以解决这个问题。但您可以做的一件事是修补覆盖层中已更新的特定值。
因此,舵图构建在您的基础层中,并且可以使用您想要在覆盖层中的值对其进行修补。
您可以在https://github.com/kubernetes-sigs/kustomize/issues/4658
查看有关此问题的详细讨论简单来说,您的文件夹结构可能看起来像这样
.
|-- base
| |-- ns.yaml
| |-- kustomization.yaml
| `-- values.yaml
`-- overlay
|-- kustomization.yaml
`-- patches
|-- patch1.yaml
`-- patch2.yaml
您将在overlay/kustomization.yaml中调用您的补丁,如下所示。
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
patches:
- path: patches/patch1.yaml
target:
...
- path: patches/patch2.yaml
target:
...