查看滚动更新的过程,我们会发现滚动更新被卡死了;
kubectl rollout status deployments nginx-deployment查看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对于复杂的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通过kubectl rollout resume命令恢复Deployment的更新操作;
kubectl rollout resume deployment nginx-deployment再次查看Deployment事件信息或者查看ReplicaSet信息,我们会发现Deployment开始更新操作;
#查看事件信息kubectl describe deployment/nginx-deployment
#查看信息
kubectl get rs
欢迎大家点点关注,点点赞!