开发者学堂课程【KubeVela 对接 Istio 实现应用灰度发布实践:KubeVela 对接 Istio 实现应用灰度发布实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/975/detail/14896
访问应用,具体界面如下:
可看到应用的名称,数据的详细信息。
在 rolloct-v2样本上和刚才进行较为类似,进行对比,观察究竟改的是什么内容?
第一个评分系统版本升级至v3
分批发布增加2个批次,第一个增加两个批次,一个批次发布1个副本,另外在发布另外一个副本.此外增加worklow工作流.
总共有三个步骤,第一步灰度发布 canary-rollout 第一次批次为 batchpartition将reviews v1版本配置90%的流量,对即将生成的v2版本配置10%的流量。
第二步 suspend 需要人工审批使灰度发布暂停.
第三步 rellout-rest 需要灰度剩余的,prochPartition1代表批次2是将100%的流量录入到v2新版本评分当中。
进行回顾,将评论组件升级从v2到v3
然后改变灰度策略,分两批,一批一个副本。
工作流是分为三部,第一部分将90%的流量指向v1版本,10%指向v2版本等人工审批之后,再将100%的流量落位到v2上面去。也就是新发布的版本.
现在提交新发布的应用,可看到v2版本的数目生成和v2副本数,以及v1的数目生成.
可看到v1v2均存在一个副本
进入访问界面可看到90%流量在新的版本,10%的流量在v1版本,多次刷新,访问到第七次时可看到评论五角星有红色转变为黑色则访问结束。
再不断刷新,访问到87次时出现两个红色,则大多数浏览器在老版本上。
人工审核结束,重启发布,可以看到v1的副本数减少到0而v2的副本数到2流量也已经全到v2,进入方面界面刷新观察到全为v2新版本。
理论上来说流量都切到v2上去了。此时,进行访问,可以看到均为新版本的述评。
从这个例子可以看出kubevela可以结合istio达到灰度发布的能力。
首先进行回顾大多数情况下会看到黑色五角星的评论但当灰度完成后则变成了红色五角星的评论,则说明来到了新版本。
如果需要回滚,假设新上线的版本不是所需要的回到原来的版本,可以进行 rollback
进行对比,在最后进行了 rollback,执行,
可看到 v1的副本数不断增加v2的副本数不断减少,知道 v1出现2个副本,进行刷新,理论上不在出现新版本的红色五角星,而是老版本的黑色五角星。
进行回顾,可以看到这个应用,通过改变灰色发布的策略,通过流量的把控和流量的划分,进行版本的把控,是在生产系统中常见的操作。