Kubernetes 在kustomize覆盖层之间共享补丁-无法识别变压器

Kubernetes 在kustomize覆盖层之间共享补丁-无法识别变压器,kubernetes,kustomize,Kubernetes,Kustomize,我正在尝试在覆盖层之间共享JSON补丁。我可以这样做: bases: - ../bases patchesJson6902: - target: ... 但我必须为每个覆盖复制完整的目标。我更喜欢在一个地方描述目标和补丁,然后将其拉到需要的覆盖层中 因此,我尝试在kustomization.yaml有一个指向文件的 从它看来,这应该在我的覆盖的kustomization.yaml中起作用: bases: - ../bases transformers: - ../transformers

我正在尝试在覆盖层之间共享JSON补丁。我可以这样做:

bases:
- ../bases
patchesJson6902:
- target:
  ...
但我必须为每个覆盖复制完整的目标。我更喜欢在一个地方描述目标和补丁,然后将其拉到需要的覆盖层中

因此,我尝试在
kustomization.yaml
有一个指向文件的

从它看来,这应该在我的覆盖的kustomization.yaml中起作用:

bases:
- ../bases

transformers:
- ../transformers/example
但是当我运行
kubectl apply-k
时,我得到:

Error: json: unknown field "transformers"

有人能指出我做错了什么吗?有更好的方法吗?

Kustomize的内置版本非常旧,2.0.3。这远远早于变压器系统的添加。您必须使用Kustomize的独立版本。

您需要使用
Kustomize
二进制文件,而不是使用
kubectl
来生成这些清单。正如@coderanger所提到的,与
kubectl
捆绑在一起的Kustomize版本是在Transformers之前发布的

安装
kustomize
后,您可以像这样构建清单:

kustomize build>dirdirdir<| kubectl apply-f-