cod*_*ud9 9 kubernetes kustomize
目前我们正在使用 ${HOME}/bin/kustomize edit set nameprefix prefix1
但它正在向我们的所有资源(例如,deployment.yaml 和 service.yaml)添加 nameprefix。
我们只想将 nameprefix 应用于deployment.yaml,而不将其应用于service.yaml
Mar*_*ark 12
发布以获得更好的可见性:
\n如果您正在使用:
\nkustomize edit set nameprefix prefix1\nRun Code Online (Sandbox Code Playgroud)\n此命令将在当前的kustomization内设置namePrefix。\n如问题中所述 - 这就是它的工作方式, namePrefix将用于kustomization.yaml内的所有指定资源。
\n请考虑使用覆盖和自定义基础的思想的以下场景。
\nTested with:\nkustomize/v4.0.1\nRun Code Online (Sandbox Code Playgroud)\n基础声明共享的资源和设置,覆盖声明额外的差异。
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 base\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 [deployment.yaml] Deployment nginx\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 [kustomization.yaml] Kustomization \n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 [service.yaml] Service nginx\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 prod\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 [kustomization.yaml] Kustomization \n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kustomizeconfig\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 [deploy-prefix-transformer.yaml] PrefixSuffixTransformer customPrefixer\nRun Code Online (Sandbox Code Playgroud)\n#deployment.yaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: nginx\nspec:\n selector:\n matchLabels:\n run: nginx\n\n#service.yaml\napiVersion: v1\nkind: Service\nmetadata:\n name: nginx\n labels:\n run: nginx\n\n#kustomization.yaml\nresources:\n- deployment.yaml\n- service.yaml\napiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\nRun Code Online (Sandbox Code Playgroud)\n\napiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\nbases:\n- ../../base\nnameSuffix: -Suffix1\ntransformers:\n- ./kustomizeconfig/deploy-prefix-transformer.yaml\n\nRun Code Online (Sandbox Code Playgroud)\napiVersion: builtin\nkind: PrefixSuffixTransformer\nmetadata:\n name: customPrefixer\nprefix: "deploymentprefix-"\nfieldSpecs:\n- kind: Deployment\n path: metadata/name\nRun Code Online (Sandbox Code Playgroud)\n正如你所看到的,使用这个结构和内置插件PrefixSuffixTransformer你可以获得期望的效果:
\nkustomize build overlay/prod/\nRun Code Online (Sandbox Code Playgroud)\napiVersion: v1\nkind: Service\nmetadata:\n labels:\n run: nginx\n name: nginx-Suffix1\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: deploymentprefix-nginx-Suffix1\nspec:\n selector:\n matchLabels:\n run: nginx\nRun Code Online (Sandbox Code Playgroud)\n此配置 (overlay/prod/kustomization.yaml) 会将nameSuffix: -Suffix1应用于基目录中指定的所有资源,并使用 PrefixSuffixTransformer在此特定示例中添加前缀:“deploymentprefix-”到部署.metadata.name
\napiVersion: builtin\nkind: PrefixSuffixTransformer\nmetadata:\n name: customPrefixer\nprefix: "deploymentprefix-"\nfieldSpecs:\n- kind: Deployment\n path: metadata/name\n\n /kustomizeconfig/deploy-prefix-transformer.yaml\n\nRun Code Online (Sandbox Code Playgroud)\n
有关于这个的github 问题
是否可以让 kustomization 文件避免向几种类型添加前缀?
@jbrette 提供了 2 个示例,您可以使用它们来实现您所需要的。
此外,您还可以查看这些拉取请求:
| 归档时间: |
|
| 查看次数: |
16105 次 |
| 最近记录: |