Kubernetes-Pod介绍(四)-Deployment (2)

查看滚动更新的过程,我们会发现滚动更新被卡死了;

kubectl rollout status deployments nginx-deployment

image.png

image.png

查看Pod的状态,这个时候我们会发现镜像一直处于被拉取的状态;

kubectl get pods

为了解决该问题,这个时候我们需要进行回滚操作,我们可以通过kubectl rollout history查看Deployment的部署历史记录,通过kubectl rollout undo命令回滚到上一个部署版本,当然也可以指定版本回滚;

#查看Deployment的部署历史记录
kubectl rollout history deployment/nginx-deployment
#查看Deployment的指定版本部署情况
kubectl rollout history deployment/nginx-deployment --revision=3
#回滚到上一个版本
kubectl rollout undo deployment/nginx-deployment
#指定版本回滚
kubectl rollout undo deployment/nginx-deployment  --to-revision=2

查看整个回滚过程的事件信息,回滚的过程就是将新建的ReplicaSet缩容就可以了;

kubectl describe deployment/nginx-deployment

image.png

image.png 暂停和恢复Deployment

对于复杂的Deployment配置修改,为了避免频繁的触发Deployment的更新操作,可以先暂停Deployment的更新操作,然后进行配置修改,在恢复Deployment,一次性触发完整的更新操作。

通过kubectl rollout pause 命令暂停Deployment的更新操作;

kubectl rollout pause deployment/nginx-deployment

修改Deployment的镜像信息;

kubectl set image deployment/nginx-deployment nginx=nginx:1.18.0 

查看Deployment事件信息,我们会发现Deployment并没有更新操作;

kubectl describe deployment/nginx-deployment

image.png

image.png

通过kubectl rollout resume命令恢复Deployment的更新操作;

kubectl rollout resume deployment nginx-deployment

再次查看Deployment事件信息或者查看ReplicaSet信息,我们会发现Deployment开始更新操作;

#查看事件信息
kubectl describe deployment/nginx-deployment
#查看信息
kubectl get rs

image.png

image.png 结束

欢迎大家点点关注,点点赞!

Kubernetes-Pod介绍(四)-Deployment

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfydd.html