深入玩转K8S之业务弹性伸缩和滚动更新操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入玩转K8S之业务弹性伸缩和滚动更新操作相关的知识,希望对你有一定的参考价值。

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

 

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

技术分享图片

技术分享图片

技术分享图片

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

技术分享图片

 技术分享图片

技术分享图片

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

技术分享图片

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

 

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

 

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

以上是关于深入玩转K8S之业务弹性伸缩和滚动更新操作的主要内容,如果未能解决你的问题,请参考以下文章

高可用之弹性伸缩

云原生之kubernetes实战kubernetes集群的HPA弹性伸缩

如何玩转 K8S ?

k8s弹性伸缩概念以及测试用例

弹性伸缩Auto Scaling

混合云K8s容器化应用弹性伸缩实战