我有一个部署到Kubernetes的后端服务。
每当我想部署我构建我的docker镜像时,使用标记(例如1.1.0
)将其推送到google docker注册表并更新我的部署yaml。
但是,更新此文件并创建另一个提交是PITA。特别是因为我有一个生产和登台环境(实际上有两个名称空间) 我最近在Kubernetes发现了ConfigMaps。
所以我想知道是否可以使用image标签在ConfigMap中存储一个值并使用它?到目前为止,我还没有找到办法。
有没有什么好的选择,所以我不必在git中存储有关当前版本的信息?这里的最佳做法是什么?使用latest
标签,我猜不是。
每当我推动掌握或开发(我使用gitlab CI)时,我想让我的CI进行部署,因此任何在命令行上都很容易做到而没有很多sed
的方法将不胜感激
答案 0 :(得分:3)
一个简单的解决方案是使用kubectl set image
:
kubectl set image deployment/foobar <container_name>=<new_image:new_tag>
您可以将git commit id用作图片标记。