第二十二章 九析带你轻松完爆 Istio - destination rule 实例

网友投稿 252 2022-10-29

第二十二章 九析带你轻松完爆 Istio - destination rule 实例

系列文章:总目录索引:九析带你轻松完爆 istio 服务网格系列教程

目录

1 前言

2 邀约

3 介绍

4 灰度

5 destination rule 样例

5.1 客户端资源文件

5.2 deployment 资源文件

5.3 service 资源文件

5.4 Istio virtual service 资源文件

5.5 Istio destination rule 资源文件

6 Istio 注入

7 验证 destination rule

1 前言

2 邀约

3 介绍

但是上面这种方案在于调用方通过两层服务才能调用到最终的 Pod(比如:客户端需要通过 web-svc 和 nginx-svc 才能最终调用到 Nginx Pod)。能不能仅仅只通过一层服务就能达到这样的效果呢?(即:只通过 web-svc)。答案是必须可以。

4 灰度

其实上面的样例非常山寨,导致根本就没有实际工作场景可以复制,仅仅只是为了展示独立 virtual service 功能。

但是按权重分配流量确是工作中常见的需求,比如灰度、金丝雀、蓝绿发布等。

灰度,意味着做事并没有那么敞亮,比如,你想跟一个心仪的女子上演一幕东京爱情故事,你的做法大概是跟她暧昧、爱抚、亲吻、最后进行爱的鼓掌。整个过程的本质就是完成一次状态转移,即从孤军奋战式撸管状态转移到团队协作式鼓掌状态。

灰度发布的过程跟上面的过程比较类似,都是亦步亦趋,循循善诱的过程。即:将版本 v1 的服务变更到版本 v2,但是却并不采用刚烈的极端做法。具体做法是先切 20% 流量给版本 v2,观察一阵子没啥异常事情发生,就再切 20% 流量,然后逐步切换剩下的其他流量,最终完成整个版本的替换以及所有用户流量的转移。

5 destination rule 样例

样例所需要的资源文件介绍如下:

5.1 客户端资源文件

5.2 deployment 资源文件

5.3 service 资源文件

5.4 Istio virtual service 资源文件

5.5 Istio destination rule 资源文件

6 Istio 注入

要使得 virtual service 和 destination rule 生效,必须要保证通讯双方都处于 Istio 服务网格之内,即:必须经过 Istio 的注入,执行语句如下:

istioctl kube-inject -f jiuxi-client.yaml | kubectl apply -f -istioctl kube-inject -f jiuxi-deploy.yaml | kubectl apply -f -

7 验证 destination rule

自此,九析带你轻松完爆了 Istio destination rule 实例。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实战之火车票预订系统的实现
下一篇:PCI总线接口芯片可以在哪里应用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~