KUBERNETES03_命名空间、Pod是什么、Deployment多副本能力、扩缩容、自愈或故障转移、滚动更新、版本回退(五)

②. 使用命令的方式实现滚动更新


kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record(注意这里的nginx=nginx:1.16.1第一个nginx需要通过命令 kubectl get deploy my-dep-01 -oyaml查看到)


# 实时的去监控
[root@k8smaster ~]# kubectl get pod -w
NAME                        READY   STATUS    RESTARTS   AGE
my-dep-01-686cfb7bf-8hwp8   1/1     Running   1          11h
my-dep-01-686cfb7bf-9g2ws   1/1     Running   1          11h
my-dep-01-686cfb7bf-9jz5m   1/1     Running   1          11h
my-dep-01-686cfb7bf-b54z6   1/1     Running   1          11h
my-dep-01-686cfb7bf-xhvjz   1/1     Running   1          11h
# 使用如下命令后,会出现下图的效果
[root@k8smaster ~]# kubectl get deploy my-dep-01 -0yaml


KUBERNETES03_命名空间、Pod是什么、Deployment多副本能力、扩缩容、自愈或故障转移、滚动更新、版本回退(五)


③. 更新好之后,使用如下命令监控可以看到已经进行了替换


KUBERNETES03_命名空间、Pod是什么、Deployment多副本能力、扩缩容、自愈或故障转移、滚动更新、版本回退(五)


# 通过命令我们已经发生了滚动更新,将nginx:laster的版本更新到了nginx:1.16.1
[root@k8smaster ~]# kubectl get deploy my-dep-01 -oyaml |grep nginx
    kubernetes.io/change-cause: kubectl set image deployment/my-dep-01 my-dep-01=nginx:1.16.1
      - image: nginx:1.16.1


⑧. Deployment:版本回退


  • ①. 通过kubectl rollout history deployment/my-dep-01查看之前的历史,2这个版本我们将nginx改为了1.16.1的版本,然后我们使用命令进行回退,又将1.16.1的版本改为了latest


[root@k8smaster ~]# kubectl rollout history deployment/my-dep-01
deployment.apps/my-dep-01 
REVISION  CHANGE-CAUSE
1         <none>
2         kubectl set image deployment/my-dep-01 my-dep-01=nginx:1.16.1 --record=true
[root@k8smaster ~]# kubectl rollout undo deployment/my-dep-01 --to-revision=1
deployment.apps/my-dep-01 rolled back
[root@k8smaster ~]# kubectl get deploy my-dep-01 -oyaml |grep nginx
      - image: nginx


②. 版本回退常用命令


#历史记录
kubectl rollout history deployment/my-dep
#查看某个历史详情
kubectl rollout history deployment/my-dep --revision=2
#回滚(回到上次)
kubectl rollout undo deployment/my-dep
#回滚(回到指定版本)
kubectl rollout undo deployment/my-dep --to-revision=2


上一篇:菜鸟入门【ASP.NET Core】15:MVC开发:ReturnUrl实现、Model后端验证 、Model前端验证


下一篇:linux shell编程之文件内容写入和日志记录