使用阿里云容器服务部署Bookinfo示例

  1. 云栖社区>
  2. 博客>
  3. 正文

使用阿里云容器服务部署Bookinfo示例

叶秦 2019-08-23 15:04:56 浏览206
展开阅读全文

Bookinfo应用介绍

Bookinfo是一个样例应用,用来演示多种 Istio 特性,它由四个单独的微服务构成:

  • productpage :productpage 微服务会调用 details 和 reviews 两个微服务,用来生成页面。
  • details :这个微服务包含了书籍的信息。
  • reviews :这个微服务包含了书籍相关的评论。它还会调用 ratings 微服务。
  • ratings :ratings 微服务中包含了由书籍评价组成的评级信息。

reviews 微服务有 3 个版本:

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

下图展示了这个应用的端到端架构
noistio.svg

部署应用

部署istio 

登录容器服务控制台,左侧导航中选择服务网格-Istio管理,选择需要安装Istio的集群,使用默认配置点击部署Istio
20190821193437-install.jpg

成功部署Istio后,可以看到下方Sidecar 自动注入设置。选择一个命名空间,开启Sidecar自动注入
20190821193712-inject.jpg

完成后可以看到istio-test命名空间下新增标签istio-injection:enabled
20190821193957-injection2.jpg

部署相关服务

bookinfo使用的服务yaml文件地址 https://raw.githubusercontent.com/istio/istio/release-1.2/samples/bookinfo/platform/kube/bookinfo.yaml

这里我们使用控制台分别部署productpage,detail,rating及reviews服务的两个版本(v1,v2)

productpage服务

选择集群,命名空间
20190816173253.jpg
输入镜像名称,版本,设置端口
20190816173406.jpg
服务(service)相关配置

20190816173551.jpg
20190816173621.jpg
创建完成

参考上述步骤分别创建details,ratings,reviews(v1)三个服务。

创建完成后,等待所有的service和 pod 都已经正常启动。

创建服务网关

服务网关可以将Istio的功能(如:监控和路由规则)应用到进入集群的流量。在服务网格目录下选择服务网关,点击新建。

20190816174512.jpg

20190820204324-gw.jpg
然后,可以将虚拟服务绑定到网关,以控制进入集群的流量。点击虚拟服务可以看到虚拟服务列表,
20190821194413-bind.jpg
点击productpage的服务网关绑定,可以看到如下弹窗,选择创建好的服务网关bookinfo-gateway,确定后完成绑定。
20190816174603.jpg

进入服务网关列表,点击bookinfo-gateway中istio-ingressgateway服务地址,输入路由/productpage可以看到如下页面
20190816174753.jpg

部署reviews-v2 版本

点击虚拟服务reviews,进入详情页,在版本管理栏点击增加灰度版本
20190816175112.jpg
输入版本号进入下一步,输入镜像名称,版本,设置端口。
20190816175158.jpg
下一步,设置灰度策略。这里选择基于流量比例的发布策略,v1,v2版本流量各50%。设置完成后点击创建。20190816175218.jpg
待pod启动完成后,刷新url,会看到v2版本的UI(由于v1、v2流量比例各50%,可能要多刷新几次)
20190816175352.jpg

最后,我们可以使用压测工具(如siege)模拟多次访问,再通过kiali观察流量拓扑。我们在安装istio的时候已经默认安装了kiali,只需要在路由中新建一个ingress就可以方便的进行访问。
左侧导航中选择路由与负载均衡->路由,选择安装好istio的集群,命名空间选择istio-system,点击创建并按如下填写相关内容
20190821200545_kiali

创建完成后会在Ingress列表看到kiali的访问地址
20190821201116-kiali2.jpg

进入kiali界面(用户名密码默认为admin),可以看到流量拓扑如图。
20190816180433.jpg

小结

本文介绍了使用阿里云容器服务部署运行bookinfo示例的过程。接下来我们还可以用它来体验Istio相关特性,包括智能路由,错误注入,流量控制等。

网友评论

登录后评论
0/500
评论
叶秦
+ 关注