ConfigMap 中的 Kubernetes 镜像配置

Kubernetes image configuration in ConfigMap

我有一个部署到 Kubernetes 的后端服务。 每当我想部署时,我都会构建我的 docker 图像,将其推送到带有标签的 google docker 注册表(例如 1.1.0)并更新我的部署 yaml。

但是,更新此文件并创建另一个提交是一个 PITA。特别是因为我有一个生产环境和一个暂存环境(实际上是 2 个命名空间) 我最近发现了 Kubernetes 中的 ConfigMaps。

所以我想知道是否可以使用图像标签将值存储在ConfigMap 中并使用它?目前还没找到方法

是否有任何好的替代方案,这样我就不必在 git 中存储有关当前版本的信息?这里的最佳做法是什么?使用 latest 标签我猜不是。

我想让我的 CI 在我推送到 master 或 development 时进行部署(我使用 gitlab CI),所以任何容易做的方法没有很多 sed 的命令行将不胜感激。

一个简单的解决方案是使用 kubectl set image:

触发部署的滚动更新
kubectl set image deployment/foobar <container_name>=<new_image:new_tag>

并且您可以使用您的 git 提交 ID 作为图像标签。