当前,我正在使用set image命令更新要部署的镜像的版本:

$ kubectl set image deployments myapp myapp=caarlos0/myapp:v2

然后,我用rollout status观看更改:
$ kubectl rollout status deployments myapp

通过这种方式发现的问题是:
  • 有时,似乎根本没有触发部署,并且当我调用rollout status时,出现如下错误:
    $ kubectl rollout status deployments myapp
    Waiting for deployment spec update to be observed...
    error: timed out waiting for the condition
    
  • rollout history命令将CHANGE-CAUSE显示为<none>,我找不到在其中显示任何有用内容的方法。

  • 那么,我是在做错事(还是不是以最佳方式)?我如何改善这个工作流程?

    最佳答案

    你做对了。在Updating a deployment文档中,您将找到以下内容:



    因此,如果尚未为您的容器配置$ kubectl set image deployments/app <image>,则运行<image>仅会触发首次展示。

    更改原因可通过将--record标志附加到命令中来记录用于触发推出的命令(请参阅Checking rollout history)。

    关于kubernetes - 在Kubernetes上更新部署的正确方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42561791/

    10-15 22:14