目前我们正在使用 ${HOME}/bin/kustomize 编辑集 nameprefix prefix1
但它正在为我们所有的资源(如 deployment.yaml 和 service.yaml)添加名称前缀。
我们只想将 nameprefix 应用于 deployment.yaml 而不是将其应用于 service.yaml
目前我们正在使用 ${HOME}/bin/kustomize 编辑集 nameprefix prefix1
但它正在为我们所有的资源(如 deployment.yaml 和 service.yaml)添加名称前缀。
我们只想将 nameprefix 应用于 deployment.yaml 而不是将其应用于 service.yaml
发布以获得更好的可见性:
如果您正在使用:
kustomize edit set nameprefix prefix1
此命令将 在您当前的kustomization中设置namePrefix。如问题所述 - 这是它的工作方式, namePrefix将用于 kustomization.yaml 中的所有指定资源。
请使用带有自定义的覆盖和基础的想法考虑以下场景。
Tested with:
kustomize/v4.0.1
Base 声明共同共享的资源和设置,overlay 声明其他差异。
.
├── base
│ ├── [deployment.yaml] Deployment nginx
│ ├── [kustomization.yaml] Kustomization
│ └── [service.yaml] Service nginx
└── prod
├── [kustomization.yaml] Kustomization
└── kustomizeconfig
└── [deploy-prefix-transformer.yaml] PrefixSuffixTransformer customPrefixer
#deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
run: nginx
#service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
run: nginx
#kustomization.yaml
resources:
- deployment.yaml
- service.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../../base
nameSuffix: -Suffix1
transformers:
- ./kustomizeconfig/deploy-prefix-transformer.yaml
apiVersion: builtin
kind: PrefixSuffixTransformer
metadata:
name: customPrefixer
prefix: "deploymentprefix-"
fieldSpecs:
- kind: Deployment
path: metadata/name
如您所见,使用此结构和内置插件PrefixSuffixTransformer可以获得所需的效果:
kustomize build overlay/prod/
apiVersion: v1
kind: Service
metadata:
labels:
run: nginx
name: nginx-Suffix1
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: deploymentprefix-nginx-Suffix1
spec:
selector:
matchLabels:
run: nginx
此配置 (overlay/prod/kustomization.yaml) 将nameSuffix: -Suffix1应用于基目录 中指定的所有资源,使用PrefixSuffixTransformer将在此特定示例前缀中添加:“deploymentprefix-”到deployment.metadata.name
apiVersion: builtin
kind: PrefixSuffixTransformer
metadata:
name: customPrefixer
prefix: "deploymentprefix-"
fieldSpecs:
- kind: Deployment
path: metadata/name
/kustomizeconfig/deploy-prefix-transformer.yaml
有关于那个的github问题
是否有可能让 kustomization 文件避免为几种添加前缀?
@jbrette 提供了 2 个示例,您可以使用它们来实现您所需要的。
此外,您可以查看这些拉取请求: