【发布时间】:2021-08-25 22:49:21
【问题描述】:
我正在使用这个example:
├── base
│ ├── kustomization.yaml
│ └── pod.yaml
├── dev
│ └── kustomization.yaml
├── kustomization.yaml
├── production
│ └── kustomization.yaml
└── staging
└── kustomization.yaml
在kustomization.yaml 根目录下的文件中:
resources:
- ./dev
- ./staging
- ./production
我在dev, staging, productionkustomization.yaml 中也有图像转换器代码:
images:
- name: my-app
newName: gcr.io/my-platform/my-app
要构建单个部署清单,我使用:
(cd dev && kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)
简单有效!
为所有覆盖(开发、登台、生产)构建部署清单,我使用:
(kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)
在根目录中使用kustomization.yaml,其中包含所有资源(开发、登台、生产)。
它确实有效,最终构建打印在控制台上,但没有图像标签。
似乎kusotmize edit set image 只更新了当前目录的kustomizaion.yaml。
有什么方法可以简单有效地处理这种情况,以便最终输出包含所有部署的图像标签?
【问题讨论】:
-
你确定你发出的这个命令和你的问题一样吗?我从上面的示例中重新创建了环境,发出了您的命令,并且构建打印 with 图像标签。另外,你的图片名称在
base/pod.yaml“image-name”中吗? -
嗨@p10l,感谢您查看和测试它。请检查此repo。我还在自述文件中添加了命令的输出
-
在 pod.yaml 中图像的名称是
image-name,但在示例 repo 中我已将其更改为my-app并更新了命令 -
您在子shell(
()内)中发出命令是否有原因? -
@Arian 您所做的是手动更改图像名称,而您的
overlay/kustomization.yaml不起作用。请参阅下面我的回答以了解会发生什么以及为什么。
标签: kubernetes kustomize