即使没有更改配置,如何重新启动pod

Inv*_*tus 3 containers kubernetes

我在一台服务器上构建docker镜像,然后将其加载到节点上(使用docker save和docker load cmds).

然后我对dep_config文件进行更改以将其拉到本地而不是repo.(通过设置imagepullpolicy).

在那一步之后,我做"kubectl apply -f dep_config.yml".

现在,pod仅重新启动第一次但后续加载图像并应用配置文件,pod不重新启动.

有没有办法我可以用"kubectl apply"重新启动pod,即使config_deploy.yml文件没有变化也是如此.

And*_*and 6

通常的做法是使用该patch命令更改部署的未使用标签

kubectl patch deployment your-deployment -p \ 
"{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"$(date +%s)\"}}}}}"
Run Code Online (Sandbox Code Playgroud)

基本上你可以改变pod模板里面的任何东西,甚至是这个例子中没有人注意到的东西.

  • 这绝对是当前可用的最佳解决方法,但在使用“标签”时要记住一件小事,根据 k8s 文档,“标签可用于选择对象并查找满足特定条件的对象集合。相比之下,注释不用于识别和选择对象。” 因此“标签”可能会导致意外的选择结果,而“注释”则完全安全。 (2认同)