365bet

使用kubectl进行分批发布

作者:365bet  来源:365bet体育  时间:2020-09-06 06:28  点击:

  分批发布是一种通用的发布方式,但是在Kubernetes集群中,要实现分批发布,需要控制各种状态,维护service流量,以及各种label配置,十分麻烦。阿里云容器服务提供一种基于 CRD 的分批发布方式,大大方便发布流程。

  这是一个含有三个实例的nginx 实例,为了暴露此容器,我们使用Service来暴露,Service的Yaml如下

  可以看到两个Secret都已经创建完毕,下面就可以来创建分批发布的 CRD。分批发布的 CRD 格式如下,

  可以看到,新老StatefulSet的区别在于,更换了新版本的镜像。同样,我们需要创建一个Secret 来存储这个新的StatefulSet

  我们可以通过event 看到 CRD 的所有事件。同时可以看到,nginx的3个pod,已经有一个 pod发生了改变,变成了最新镜像,同时 curl对应的service,会发现流量已经指向了新的pod。这样用户就可以快速试错了。

  下面我们来演示如何快速回滚,如果流量打到新的 pod后发现有问题,需要回滚,那么我们需要编辑CRD,

  可以看到原来web-2所在的pod已经被回滚到了老镜像,现在curl service 也都是老的服务了。

  可以看到,所有的确认版本历史都会被记录到secret里面,方便到时候跨版本回滚。

365bet

版权所有:上海365bet工程机械厂有限公司    技术支持:365bet体育  网站地图