本篇文章为大家展示了Kubernetes中怎么利用Deployment实现滚动升级,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。可以看出一个Deployment拥有多个Replica Set,而一个Replica Set拥有一个或多个Pod。一个Deployment控制多个rs主要是为了支持回滚机制,每当Deployment操作时,Kubernetes会重新生成一个Replica Set并保留,以后有需要的话就可以回滚至之前的状态。 下面创建一个Deployment,它创建了一个Replica Set来启动3个nginx pod,yaml文件如下:将上面内容保存为: nginx-deployment.yaml,执行命令:然后执行一下命令查看刚刚创建的Deployment:隔一会再次执行上面命令:我们可以看到Deployment已经创建了3个Replica Set了,执行下面的命令查看rs和pod:上面的Deployment的yaml文件中的replicas:3
将会保证我们始终有3个POD在运行。现在我们将刚刚保存的yaml文件中的nginx镜像修改为nginx:1.13.3
,然后在spec下面添加滚动升级策略:minReadySeconds:Kubernetes在等待设置的时间后才进行升级如果没有设置该值,Kubernetes会假设该容器启动起来后就提供服务了如果没有设置该值,在某些极端情况下可能会造成服务服务正常运行maxSurge:升级过程中最多可以比原先设置多出的POD数量例如:maxSurage=1,replicas=5,则表示Kubernetes会先启动1一个新的Pod后才删掉一个旧的POD,整个升级过程中最多会有5+1个POD。maxUnavaible:升级过程中最多有多少个POD处于无法提供服务的状态当maxSurge
不为0时,该值也不能为0例如:maxUnavaible=1,则表示Kubernetes整个升级过程中最多会有1个POD处于无法服务的状态。然后执行命令:然后我们可以使用rollout
命令:查看状态:
暂停升级
继续升级
升级结束后,继续查看rs的状态:根据AGE我们可以看到离我们最近的当前状态是:3,和我们的yaml文件是一致的,证明升级成功了。用describe
命令可以查看升级的全部信息:我们已经能够滚动平滑的升级我们的Deployment了,但是如果升级后的POD出了问题该怎么办?我们能够想到的最好最快的方式当然是回退到上一次能够提供正常工作的版本,Deployment就为我们提供了回滚机制。首先,查看Deploy 香港云主机ment的升级历史:从上面的结果可以看出在执行Deployment升级的时候最好带上record
参数,便于我们查看历史版本信息。同样我们可以使用下面的命令查看单个REVISION的信息:假如现在要直接回退到当前版本的前一个版本:当然也可以用revision
回退到指定的版本:现在可以用命令查看Deployment现在的状态了。前面在用apply
命令滚动升级Deployment后,无意间在Dashboard
中发现了Replica Sets
下面有很多Pods为0/0
的RS,由于本人有轻微的强迫症,眼里是容不下0/0
这种东西的,然后就给删除
了,结果后面更新的时候又出现了,以为是yaml脚本有误,结果到现在才清楚这个是用于Deployment回滚用的,不能随便删除的(感觉自己就是个棒槌啊~~~)。Kubernetes
默认是会将Deployments的每次改动操作生成一个新的RS,并保存下来的。不过你可以设置参数.spec.revisonHistoryLimit
来来指定Deployment最多保留多少revision 历史记录。如果将该项设置为0,Deployment就不允许回退了。上述内容就是Kubernetes中怎么利用Deployment实现滚动升级,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注开发云行业资讯频道。
这篇文章主要介绍“Win10怎么调出软键盘”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Win10怎么调出软键盘”文章能帮助大家解决问题。方法一:1.在键盘上按下【win】键,进入开始界面,点击【设置】2.在设置界面中…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。