每次将图像推送到 GCR 时自动更新 Pod

2024-02-23

我有一个 docker 镜像被推送到 Container Registrydocker push gcr.io/go-demo/servertime和一个用以下命令创建的 podkubectl run servertime --image=gcr.io/go-demo-144214/servertime --port=8080.

如何在每次推送新版本镜像时启用 pod 自动更新?


我建议切换到某种 CI 来管理流程,而不是在 docker Push 上触发,而不是在将提交推送到 git 存储库时触发流程。另外,如果您切换到使用更高级别的 kubernetes 构造,例如deployment,您将能够将 pod 滚动更新到新的映像版本。我们的流程大致如下:

git commit #triggers CI build
docker build yourimage:gitsha1
docker push yourimage:gitsha1
sed -i 's/{{TAG}}/gitsha1/g' deployment.yml
kubectl apply -f deployment.yml 

其中,deployment.yml 是我们的部署模板,它将更新到新的标签版本。

如果您手动执行此操作,则通过运行来更新现有部署中的映像可能会更容易kubectl set image deployment/yourdeployment <containernameinpod>=yourimage:gitsha1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每次将图像推送到 GCR 时自动更新 Pod 的相关文章

随机推荐