如何在另一个目录中实现 LabelTransformer?
How can I implement a LabelTransformer in another directory?
如果我的项目结构如下:
- project/
- deployment.yaml
- kustomization.yaml
- bases/
- transformer.yaml
- kustomization.yaml
project/kustomization.yaml
:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../bases
patchesStrategicMerge:
- deployment.yaml
bases/kustomization.yaml
:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
transformers:
- transformer.yaml
如果我然后 kubectl kustomize
,则不会应用转换器。
但是如果我这样做:
- project/
- kustomization.yaml
- transformer.yaml
- deployment.yaml
project/kustomization.yaml
:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
patchesStrategicMerge:
- deployment.yaml
transformers:
- transformer.yaml
然后变压器工作并按预期应用。
需要说明的是,第一种方式没有任何错误,它只是没有应用变压器,而第二种方式确实应用了变压器。有没有一种方法可以用第一种方式布置目录结构?
https://github.com/kubernetes-sigs/kustomize/issues/2408
这似乎是有意设计的。无法在目录外应用此转换。
如果我的项目结构如下:
- project/
- deployment.yaml
- kustomization.yaml
- bases/
- transformer.yaml
- kustomization.yaml
project/kustomization.yaml
:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../bases
patchesStrategicMerge:
- deployment.yaml
bases/kustomization.yaml
:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
transformers:
- transformer.yaml
如果我然后 kubectl kustomize
,则不会应用转换器。
但是如果我这样做:
- project/
- kustomization.yaml
- transformer.yaml
- deployment.yaml
project/kustomization.yaml
:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
patchesStrategicMerge:
- deployment.yaml
transformers:
- transformer.yaml
然后变压器工作并按预期应用。
需要说明的是,第一种方式没有任何错误,它只是没有应用变压器,而第二种方式确实应用了变压器。有没有一种方法可以用第一种方式布置目录结构?
https://github.com/kubernetes-sigs/kustomize/issues/2408
这似乎是有意设计的。无法在目录外应用此转换。