如果文件没有更改,如何重新部署(滚动更新)kubernetes 部署

Ale*_*lls 1 kubernetes kubectl amazon-eks

假设我们在deployment.yml中有这个

containers:
  - name: my_container
    imagePullPolicy: Always
    image: my_image:latest
Run Code Online (Sandbox Code Playgroud)

因此,重新部署可能采取以下形式:

kubectl set image deployment/my-deployment my_container=my_image
Run Code Online (Sandbox Code Playgroud)

我从这里偷来的:

/sf/answers/2825796431/

我的问题是 - 这是进行滚动更新的正确方法吗?上述内容是否始终可以确保部署获得新映像?我的deployment.yml可能永远不会改变——它可能my_image:latest永远不变,那么如何进行滚动更新呢?

And*_*inn 7

我不认为这是一个可以接受的答案。但我想为未来做这件事,因为 Kubernetes 1.15 中有一个命令可以做到这一点。

PR https://github.com/kubernetes/kubernetes/pull/76062添加了一个名为 的命令kubectl rollout restart。它是 Kubernetes 1.15 的一部分。未来你将能够做到:

kubectl rollout restart deployment/my-deployment
Run Code Online (Sandbox Code Playgroud)