尝试替换 Kustomize 覆盖中 helm 图表的 value.yaml 文件

问题描述 投票:0回答:1

我通过 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中再次定义舵图 - 我遇到重复的资源冲突

kubernetes kubernetes-helm kustomize
1个回答
0
投票

我看到很多围绕这个问题的讨论。到目前为止,还没有简单直接的方法可以解决这个问题。但您可以做的一件事是修补覆盖层中已更新的特定值。

因此,舵图构建在您的基础层中,并且可以使用您想要在覆盖层中的值对其进行修补。

您可以在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:
    ...
© www.soinside.com 2019 - 2024. All rights reserved.