当升级出现异常时,执行回滚即可。
[root@hdss7-21 ~]# kubectl rollout history deployment nginx-deploy -n app # 查看历史版本记录
deployment.extensions/nginx-deploy
REVISION CHANGE-CAUSE
1 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.12.yaml --record=true
2 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.13.yaml --record=true
3 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.14.yaml --record=true
4 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.15.yaml --record=true
[root@hdss7-21 ~]# kubectl rollout undo deployment nginx-deploy -n app
[root@hdss7-21 ~]# kubectl rollout history deployment nginx-deploy -n app # 版本3已经被版本5替代
deployment.extensions/nginx-deploy
REVISION CHANGE-CAUSE
1 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.12.yaml --record=true
2 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.13.yaml --record=true
4 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.15.yaml --record=true
5 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.14.yaml --record=true
[root@hdss7-21 ~]# kubectl get pod -n app -l partition=website -L version
NAME READY STATUS RESTARTS AGE VERSION
nginx-deploy-7c5976dcd9-2kps8 1/1 Running 0 2m20s v1.14
nginx-deploy-7c5976dcd9-bqs28 1/1 Running 0 2m6s v1.14
nginx-deploy-7c5976dcd9-jdvps 1/1 Running 0 2m13s v1.14
nginx-deploy-7c5976dcd9-vs8l4 1/1 Running 0 116s v1.14
nginx-deploy-7c5976dcd9-z99mb 1/1 Running 0 101s v1.14
[root@hdss7-21 ~]# kubectl get rs -n app -l tier=slb -L version
NAME DESIRED CURRENT READY AGE VERSION
nginx-deploy-5597c8b45 0 0 0 3h7m v1.12
nginx-deploy-6695fd9655 0 0 0 12m v1.15
nginx-deploy-6bd88df699 0 0 0 3h7m v1.13
nginx-deploy-7c5976dcd9 5 5 5 34m v1.14