发布了新的容器镜像 blog-web:2.1.53
,用什么命令可以在 k8s 集群中只更新 image tag ,目前在运行的 image tag 是 blog-web:2.1.52
。
通过 kubectl set image 可以实现。
kubectl set image deployment/blog-web blog-web=blog-web:2.1.53
直接apply deployment即可。
不太理解你说的只更新tag是什么需求(不想销毁pod?)?yaml其他的字段你不改动就是了。
想使用同一个命令更新所有的 deployment ,命令参数是 deployment name 与 image tag
@dudu:
我这边的使用方式是把k8s的yml放在git repo中管理。先commit变更tag, 然后:kubectl apply -f a-deployment.yml -f b-deployment.yml
。
不知是否符合你的要求?
@blackheart: 这样每次发布都要修改 deployment.yml 文件,不方便,我们想通过 gitlab-ci 自动发布
@dudu:
我们在ci里面自动pull下来yml的repo,然后用sed
替换指定的deployment.yml中的image tag),再自动push上去。