我的Kustomize修补程序可以标记名称空间,但会覆盖现有的标签
所有的旅客名单-
kustomize.yaml
apiVersion: kustomize.config.k8s.io/vlbetal
kind: Kustomization
resources:
- ../../../../base/labels
patches:
- path: patches/test-patch.yaml
target:
kind: Namespace
name: dev-test
字符串
test-patch.yaml
- op: add
path: /metadata/labels
value:
env: dev
db: dev
型
namespace.yaml
api Version: v1
kind: Namespace
metadata:
name: dev-test
型
如何避免覆盖现有的命名空间标签?
1条答案
按热度按时间i86rm4rw1#
当前面片将使用给定值替换
labels
对象,从而覆盖所有以前的标签。在技术层面上,我们希望将两个字段
env
和db
添加到label
-对象中。因此,我们需要两个单独的add
操作来添加这两个字段:字符串
请注意,为了使这个解决方案工作,命名空间需要已经有一个
labels
对象。如果没有,kustomize
将报告以下错误:型
我们可以添加一个空的
labels
-部分,如下所示:型
如果命名空间已经有标签,例如:
型
那我们什么都不需要做;将添加新标签。