华为云和开源Istio运维管理对比样例应用部署

Posted 51CTO官微

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为云和开源Istio运维管理对比样例应用部署相关的知识,希望对你有一定的参考价值。


前言


在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化。这里我们做一次验证测试。



Bookinfo 应用



这里我们部署一个demo,由四个单独的微服务构成**(注意这里的四个微服务是由不同的语言编写的)**,用来演示多种 Istio 特性。这个应用模仿在线书店的一个分类,显示一本书的信息。页面上会显示一本书的描述,书籍的细节(ISBN、页数等),以及关于这本书的一些评论。


Bookinfo 应用分为四个单独的微服务:


  • productpage:productpage微服务会调用details和reviews两个微服务,用来生成页面。

  • details:这个微服务包含了书籍的信息。

  • reviews:这个微服务包含了书籍相关的评论。它还会调用 ratings 微服务。

  • ratings:ratings 微服务中包含了由书籍评价组成的评级信息。


这里主要使用reviews来演示 Istio 特性,reviews微服务有 3 个版本:


  • v1 版本不会调用ratings服务。

  • v2 版本会调用ratings服务,并使用 1 到 5 个黑色星形图标来显示评分信息。

  • v3 版本会调用ratings服务,并使用 1 到 5 个红色星形图标来显示评分信息。


下图展示了这个应用的端到端架构。 


Istio 注入之前的 Bookinfo 应用


Bookinfo 是一个异构应用,几个微服务是由不同的语言编写的。这些服务对 Istio 并无依赖,但是构成了一个有代表性的服务网格的例子:它由多个服务、多个语言构成,并且 reviews 服务具有多个版本。



部署应用



这里 Istio 的安装部署就不在赘述了。


值得注意的是:如果使用的是开源K8s服务安装的 Istio ,要配置负载均衡。


在 Istio 中运行这一应用,无需对应用自身做出任何改变。我们只要简单的在 Istio 环境中对服务进行配置和运行,具体一点说就是把 Envoy sidecar 注入到每个服务之中。这个过程所需的具体命令和配置方法由运行时环境决定,而部署结果较为一致,如下图所示:


华为云和开源Istio运维管理对比样例应用部署

Bookinfo 应用


所有的微服务都和 Envoysidecar 集成在一起,被集成服务所有的出入流量都被 sidecar 所劫持,这样就为外部控制准备了所需的 Hook,然后就可以利用 Istio 控制平面为应用提供服务路由、遥测数据收集以及策略实施等功能。


下载安装


到 GitHub 中 istio 的 release 中下载相应版本的 istio包,下载后将 bin目录配置到环境变量 PATH中 export PATH="/istio/bin:$PATH",这里我们使用的是 istio 1.0.5版本


Bookinfo 这个应用就在samples/目录下

 


在华为云(CCE)上运行



华为云率先将 Istio 作为产品投入到公有云中进行商业应用,开通方式十分简单,只要在华为云CCE上创建集群,然后申请 Istio 公测即可。


为了方便测试Bookinfo 应用在华为云上提供了一键体验应用,点击即可省去刚刚那一系列的kubectl操作


       华为云和开源Istio运维管理对比样例应用部署

一键创建体验应用

       华为云和开源Istio运维管理对比样例应用部署

点击灰度发布即可

       华为云和开源Istio运维管理对比样例应用部署

创建金丝雀发布

       华为云和开源Istio运维管理对比样例应用部署

选择灰度发布的组件

       华为云和开源Istio运维管理对比样例应用部署

填写版本号

       华为云和开源Istio运维管理对比样例应用部署

选择镜像版本

       

版本创建完成后配置灰度策略


       

选择相应策略,策略下发即可


总的来说,华为云的Istio 确实已经是商业化应用,这里只是展示了部分灰度发布的功能。其他比如流量治理,流量监控等功能还没展示,这些功能做的十分细致,值得尝试。


参考

基于ISTIO服务网格的灰度发布

https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0012.html

以上是关于华为云和开源Istio运维管理对比样例应用部署的主要内容,如果未能解决你的问题,请参考以下文章

Istio 是什么?

istio1.5安装-较之前版本有重大改进

采用Istio实现灰度发布,给运维人员一支强心剂

一体化运维管控平台对比开源 SaltStack 优势

使用华为云软件开发平台devcloud和应用管理与运维平台servicestage实现持续集成(CI)持续部署(CD)

使用华为云软件开发平台devcloud和应用管理与运维平台servicestage实现持续集成(CI)持续部署(CD)