我正在寻找一种使用 Kustomize 将特定标签添加到 ConfigMap 的方法。使用
commonLabels
不是一个选项,因为它会为每个资源添加标签。对于配置图生成,我使用以下内容:
configMapGenerator:
- name: ${REPOSITORY_NAME}-env
envs:
- .env
我想实现这样的目标:
configMapGenerator:
- name: ${REPOSITORY_NAME}-env
labels:
key: value
envs:
- .env
根据此 git 链接,您可以使用 kustomize 中的补丁文件添加特定标签。
apiVersion: v1 data: a: "0" kind: ConfigMap metadata: labels: apps: a name: a-config-map-26kgmbk2md
然后将这些添加到 configMapGenerator 中
configMapGenerator: - name: a-config-map envs: - a.properties patchesStrategicMerge: - patch-a.yaml
这会将各个 configMap 的特定标签添加到 configmap 生成器。
此外,您还可以参考此git问题以获取更多信息。
现在有一种方法可以从 kustomization 文件中直接执行此操作:
configMapGenerator:
- name: app-config
files:
- config.yaml=config.yaml
generatorOptions:
labels:
app: myapp
EOF