Вот моя структура kustomize:
./kustomize/
├── base
│ ├── kustomization.yaml
│ ├── kustomizeconfig
│ │ └── transformers
│ │ └── labels-transformer.yaml
│ └── resources
│ ├── deployment.yaml
│ └── service.yaml
└── overlays
├── dev
│ ├── kustomization.yaml
│ └── kustomizeconfig
│ ├── generators
│ │ ├── config-generator.yaml
│ └── transformers
│ ├── labels-transformer.yaml
└── prod
├── kustomization.yaml
└── kustomizeconfig
├── generators
│ ├── config-generator.yaml
└── transformers
├── labels-transformer.yaml
Как видите, на каждом dev
и prod
оверлеях у меня есть kustomizeconfig/generators/config-generator
.
На другой стороне на каждом dev
и prod
оверлеях , а также на base
, у меня есть kustomizeconfig/transformers/labels-transformer.yaml
.
На базе (base/transformers/labels-transformer
) это выглядит так:
apiVersion: builtin
kind: LabelTransformer
metadata:
name: notImportantHere
labels:
app.kubernetes.io/name: backend
app.kubernetes.io/instance: backend
app.kubernetes.io/version: "1.0.0"
app.kubernetes.io/component: service
app.kubernetes.io/part-of: covid
fieldSpecs:
- kind: ConfigMap
path: metadata/labels
create: true
...
Вкл. Prod (overlays/prod/transformers/labels-transformer
) Наложение:
apiVersion: builtin
kind: LabelTransformer
metadata:
name: notImportantHere
labels:
stage: production
fieldSpecs:
- kind: ConfigMap
path: metadata/labels
create: true
...
Когда я выполняю kustomize build kustomize/overlays/prod
:
apiVersion: v1
data:
...
kind: ConfigMap
metadata:
labels:
stage: production
name: prod-covid-backend-config-cc624fc45h
Как видите, добавлена только метка stage: production
.
Мне нужно, чтобы при создании configmap на каждом оверлее он наследовал base
преобразователь меток. в настоящее время кажется, что это игнорируется.
Есть идеи?
Я тестировал удаление меток из prod
оверлея, и, как я предлагаю, base
label transformer
игнорируется. Я имею в виду, ярлыки не прикреплены.
apiVersion: v1
data:
...
kind: ConfigMap
metadata:
name: prod-covid-backend-config-cc624fc45h