当前,我们正在使用$ {HOME} / bin / kustomize编辑集名称前缀prefix1
但是它将名称前缀添加到我们的所有资源中,例如Deployment.yaml和service.yaml。
我们只想将nameprefix应用于Deployment.yaml,而不要将其应用于service.yaml
答案 0 :(得分:2)
发布以获得更好的可见性:
如果您使用:
kustomize edit set nameprefix prefix1
此命令将在您当前的自定义中设置namePrefix。 正如问题中所述 - 这是它的工作方式,namePrefix 将用于 kustomization.yaml 中的所有指定资源。 >
请考虑使用带有 kustomization 的 overlay 和 base 的想法的以下场景。
Tested with:
kustomize/v4.0.1
基础声明共享的资源和设置,覆盖声明其他差异。
.
├── 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 应用于 base 目录中指定的所有资源,并使用 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
答案 1 :(得分:0)
有可能使kustomization文件避免为几种添加前缀吗?
@jbrette提供了2个示例,您可以使用它们来实现所需的功能。
此外,您还可以查看以下拉取请求: