对daemonSet执行回滚
本文展示了如何对DaemonSet执行回滚。
在开始之前
你必须拥有一个Kubernetes的集群,同时你的Kubernetes集群必须带有kubectl命令行工具。建议在至少有两个节点的集群上运行本教程,且这些节点不作为控制平面主机。如果你还没有集群,你可以通过Minikube构建一个你自己的集群,或者你可以使用下面任意一个Kubernetes工具构建:
您的Kubernetes
服务器
版本必须不低于版本1.7.要获知版本信息,请输入
kubectlversion
。
你应该已经了解如何为DaemonSet执行滚动更新。
对DaemonSet执行回滚
步骤1:找到想要DaemonSet回滚到的历史修订版本(revision)
如果只想回滚到最后一个版本,可以跳过这一步。
列出DaemonSet的所有版本:
kubectl rollout history daemonset
此命令返回DaemonSet版本列表:
daemonsets ""REVISIONCHANGE-CAUSE1...2......
执行以下命令,来查看指定版本的详细信息:
kubectl rollout history daemonset --revision=1
该命令返回相应修订版本的详细信息:
daemonsets "" with revision #1Pod Template:Labels:foo=barContainers:app: Image:... Port:... Environment: ... Mounts:...Volumes:...
步骤2:回滚到指定版本
# 在 --to-revision 中指定你从步骤 1 中获取的修订版本kubectl rollout undo daemonset --to-revision=
如果成功,命令会返回:
daemonset "" rolled back
步骤3:监视DaemonSet回滚进度
kubectlrolloutundodaemonset
向服务器表明启动DaemonSet回滚。真正的回滚是在集群的控制面异步完成的。
执行以下命令,来监视DaemonSet回滚进度:
kubectl rollout status ds/
回滚完成时,输出形如:
daemonset "" successfully rolled out
理解DaemonSet修订版本
在前面的
kubectlrollouthistory
步骤中,你获得了一个修订版本列表,每个修订版本都存储在名为
ControllerRevision
的资源中。
要查看每个修订版本中保存的内容,可以找到DaemonSet修订版本的原生资源:
kubectl get controllerrevision -l
=
该命令返回
ControllerRevisions
列表:
NAMECONTROLLERREVISIONAGE-DaemonSet/11h-DaemonSet/21h
每个
ControllerRevision
中存储了相应DaemonSet版本的注解和模板。
kubectlrolloutundo
选择特定的
ControllerRevision
,并用
ControllerRevision
中存储的模板代替DaemonSet的模板。
kubectlrolloutundo
相当于通过其他命令(如
kubectledit
或
kubectlapply
)将DaemonSet模板更新至先前的版本。
先安装,如有提示重启先重启一下... 在右下用右键点击daemon tools的图标 ->选最上面的virtual CD/DVD-ROM菜单->Device 0:[X:]No Media->Mount image然后选择你需要模拟的光驱文件就可以了,X盘就是你所模拟的盘,跟实际的光驱没什么区别. 退出时在盘里面选弹出是没有用的,应该选Unmount image才能退出 另外在在右下用右键点击daemon tools的图标->选最上面的Virtual CD/DVD-ROM菜单->Set number of devices...可以模拟出多个盘
发表评论