使用 Image Transformer 仅更改 Kustomize Overlay 中的图像名称/注册表

sup*_*S64 3 kubernetes kustomize

对于 Kubernetes 部署,给定一个 Kustomize Base,例如:

\n
apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\n...\nimages:\n  - name: developmentregistry.com/myimage:v1.0\n
Run Code Online (Sandbox Code Playgroud)\n

有没有办法只更改图像注册表并保留带有覆盖的 og 标签,而无需使用图像转换器重新声明图像

\n

例如,如果我使用如下叠加:

\n
apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\n...\nimages:\n  - newName: productionregistry.com/myimage\n
Run Code Online (Sandbox Code Playgroud)\n

该图像仅部署为productionregistry.com/myimage\xe2\x80\x94 这不是我想要的。
\n我怎样才能让我的覆盖部署产生效果productionregistry.com/myimage:v1.0?我找不到任何其他帖子或与此相关的任何问题。
\n我必须使用补丁而不是图像转换器吗?

\n

sup*_*S64 6

好吧,我发现 \xe2\x80\x94\xc2\xa0Kustomization Yaml 很挑剔,所以你必须有正确的 yaml 结构。

\n

这有效:

\n

根据

\n
apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\n...\nimages:\n  - name: developmentregistry.com/myimage\n    newTag: v1.0\n\n
Run Code Online (Sandbox Code Playgroud)\n

覆盖

\n
apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\n...\nimages:\n  - name: developmentregistry.com/myimage\n    newName: productionregistry.com/myimage\n
Run Code Online (Sandbox Code Playgroud)\n