【发布时间】:2021-07-21 02:33:45
【问题描述】:
所以我正在处理这样的结构:
.
├── 1
│ ├── env-vars
│ └── kustomization.yaml
├── 2
│ ├── env-vars
│ └── kustomization.yaml
├── env-vars
├── kustomization.yaml
└── shared
├── env-vars
└── kustomization.yaml
虽然每个级别中的 env-vars 都有一些 env vars 和
$cat kustomization.yaml
bases:
- 1/
- 2/
namePrefix: toplevel-
configMapGenerator:
- name: env-cm
behavior: merge
envs:
- env-vars
$cat 1/kustomization.yaml
bases:
- ./../shared
namePrefix: first-
configMapGenerator:
- name: env-cm
behavior: merge
envs:
- env-vars
$cat 2/kustomization.yaml
bases:
- ./../shared
namePrefix: second-
configMapGenerator:
- name: env-cm
behavior: merge
envs:
- env-vars
$cat shared/kustomization.yaml
configMapGenerator:
- name: env-cm
behavior: create
envs:
- env-vars
我实际上是在尝试创建 2 个具有一些共享值的配置映射(它们从不同的资源注入:来自 shared 目录和顶级目录)
kustomize build . 因查找多个对象时出现一些冲突错误而失败:
Error: merging from generator <blah>: found multiple objects <blah> that could accept merge of ~G_v1_ConfigMap|~X|env-cm
不幸的是,我需要在顶层 configMapGenerator 上使用 merge,因为有一些标签被注入到 1 和 2 配置映射中(所以 createing 顶层配置映射 altho 解决了 env -vars,但不包括标签)
感谢任何有关如何解决此问题的建议
【问题讨论】:
标签: kubernetes configmap kustomize