暂停和恢复 Deployment 更新
在更新 Deployment中演示的均为更改某一处的配置,更改后立即触发更新。大多数情况下可能需要针对一个资源文件更改多处地方,而并不需要多次触发更新,此时可以使用 Deployment 暂停功能,临时禁用更新操作,对 Deployment 进行多次修改后再进行更新。
1. 暂停 Deployment 更新
使用 kubectl rollout pause 命令即可暂停 Deployment 更新:
$ kubectl rollout pause deploy nginx-deploy
deployment.apps/nginx-deploy paused2. 执行更新
然后对 Deployment 进行相关更新操作,比如先更新镜像,然后对其资源进行限制。
$ kubectl set image deploy nginx-deploy nginx=nginx:1.25.3
deployment.apps/nginx-deploy image updated
$ kubectl set resources deploy nginx-deploy --limits=cpu=200m,memory=512Mi -c nginx
deployment.apps/nginx-deploy resource requirements updated3. 恢复 Deployment 更新
进行完最后一处配置更改后,使用 kubectl rollout resume 恢复 Deployment 更新:
可以看到恢复更新的 Deployment 创建了一个新的 ReplicaSet:
查看 deployment 的详细信息,可以看到 Deployment 的 image 已经变为 nginx:1.25.3,CPU 的 limit 变成了 200m:
最后更新于
这有帮助吗?