在Pod中运行的应用程序在启动时会对其数据文件进行一些刷新.每次我想刷新数据时,我都需要重新启动容器.(刷新可能需要几分钟,所以我有一个Probe检查是否准备就绪.)
我将运行一个预定的作业来进行滚动更新的部署,这将使旧的Pod一次一个地取出并替换它们,而不会停机.
如果我没有改变什么,我如何触发部署?
此外,我需要能够从预定的工作中做到这一点,显然,所以没有手动编辑..
这样做的其他任何方式?
从kubectl 1.15开始,您可以运行:
kubectl rollout restart deployment <deploymentname>
Run Code Online (Sandbox Code Playgroud)
这在内部执行的操作是使用kubectl.kubernetes.io/restartedAt
注释对部署进行修补,以便调度程序根据部署更新策略执行部署。
对于Kubernetes的早期版本,您可以模拟类似的事情:
kubectl set env deployment --env="LAST_MANUAL_RESTART=$(date +%s)" "deploymentname"
Run Code Online (Sandbox Code Playgroud)
甚至替换单个命名空间中的所有内容:
kubectl set env --all deployment --env="LAST_MANUAL_RESTART=$(date +%s)" --namespace=...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1626 次 |
最近记录: |