在实际应用场景中避免不了因为业务的压力而增加容器数量以及业务应用版本迭代更新,那么本篇文章我们来学习下简单的业务弹性伸缩、滚动更新操作,滚动操作的好处在于零停机更新,也就是说每次更新一小部分副本,在整个更新的过程中始终保持有副本在线,最大程度的保障了业务的连续性。本节的知识点在于Deployment和record。

 

首先是弹性伸缩,很简单就是通过编写Deployment文件,把副本数增大,就完成了业务的弹性扩展,那么扩展完了怎么调小呢,那么也按照刚才的方法进行调整副本大小即可。

博客01.png

博客02.png

博客03.png

 最后说下滚动更新的操作,也很简单跟刚才弹性伸缩差不多,为了方便区分,这里弄了多个Deployment,按照V1,V2来区分。

博客04.png

 博客05.png

博客06.png

OK到此滚动更新完毕,那么有人会说操作失误了应该也会有版本回滚操作吧?是的没错,回滚也很简单,刚才在咱们操作的时候加入了一个参数,那就是record,这个参数是为了把之前的操作记录到revision中,接下来通过kubectl rollout history deployment nginx-deployment命令来查看回滚版本操作。

博客07.png

我这里环境因为之前执行过一次,所以显示了两个记录:)

 

需要注意的是Kubernetes默认只会保留近几个revision,当然这个可以在Deployment文件中进行修改,添加个revisionHistoryLimit标签属性就可以增加保留revision数量。

 

OK,到这次就完成了简单的业务弹性伸缩、滚动更新操作,快去操作尝试吧,那么我们会在下篇文章中讲述更高级、更智能的弹性伸缩和滚动更新操作,本文参考了Kubernetes官网。