我遵循了这里的教程,实例
我已经成功地部署了我的服务,但是教程在更新部署之前就停止了。
我试着做的就是这个。但它似乎并没有真正更新豆荚或部署代码。
docker build -t gcr.io/<my-app>/polls .
gcloud docker -- push gcr.io/<my-app>/polls
kubectl apply -f polls.yaml发布于 2017-08-31 06:58:03
参见关于更新部署的文档中的注释和示例
注意:只有当部署的pod模板(即.spec.template)被更改时(例如,如果更新了模板的标签或容器映像),部署的部署的推出才会被触发。
尽管您已经推出了一个新的图像版本,但模板本身并没有改变;该模板仍然将该图像称为gcr.io/<my-app>/polls或gcr.io/<my-app>/polls:latest。尽管它的含义被改变了,但是字符串本身并没有改变。
若要触发更新,请推送新标记,例如gcr.io/<my-app>/polls:v2,编辑yaml文件并执行kubectl apply -f polls.yaml。
您还可以使用kubectl set image触发更新而不更改部署yaml文件(演示);同样的规则也适用,标识映像的字符串必须与当前部署的内容不同。
如果不希望创建图像标记,也可以使用新图像的sha256sum (推送图像时显示值);也可以在yaml文件中工作:
kubectl set image deploy/mydeployment mycontainer=gcr.io/<my-app>/polls@sha256:2aac5e7514fbc77125bd315abe9e7b0257db05fe498af01a58e239ebaccf82a8如果您对其他想法感兴趣,有关这种不便的讨论将在第33664期中进行。
https://stackoverflow.com/questions/45972037
复制相似问题