基于k8s Deployment和API网关实现的滚动发布
滚动发布基于Kubernetes原生的Deployment具备的滚动更新、多版本管理和API网关负载均衡能力实现。滚动更新的好处是显而易见的,比如,在升级刚开始的时候,集群里只有1个新版本的容器。如果这时,新版本容器有问题(环境或者程序本身有bug)启动不起来,那么“滚动更新”就会停止。而在这个过程中,由于应用本身还有两个旧版本的容器在线,所以服务并不会受到太大的影响。新版本部署好,测试验证如果不
·
滚动发布基于Kubernetes原生的Deployment具备的滚动更新、多版本管理和API网关负载均衡能力实现。滚动更新的好处是显而易见的,比如,在升级刚开始的时候,集群里只有1个新版本的容器。如果这时,新版本容器有问题(环境或者程序本身有bug)启动不起来,那么“滚动更新”就会停止。而在这个过程中,由于应用本身还有两个旧版本的容器在线,所以服务并不会受到太大的影响。新版本部署好,测试验证如果不成功,通过回滚机制,可以快速滚动回退到最新的历史版本。
API网关不支持流量转移,所以发布过程中,是存在两个版本同时在线提供服务的情况,如果发现问题,比较难以确认是新版本还是旧版本造成的。因此需要考虑API版本、接口兼容性、发布时长这些因素,是否采用滚动发布。
从某种意义上讲,除了部署中的“滚动更新”过程,滚动发布可以认为是蓝绿发布的一种实现,而且解决了蓝绿发布资源加倍的问题。
更多推荐
已为社区贡献3条内容
所有评论(0)