CDN加速

文档中心 容器服务 最佳实践 服务网格Bookinfo示例

服务网格Bookinfo示例

更新时间:2020-07-01 19:06:22

服务网格Bookinfo示例

Bookinfo介绍

Bookinfo由四个单独的微服务构成,用来演示多种 Istio 特性。这个应用模仿在线书店的一个分类,显示一本书的信息。页面上会显示一本书的描述,书籍的细节(ISBN、页数等),以及关于这本书的一些评论。

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

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

reviews 微服务有 3 个版本:

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

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

SD-WAN的作用有哪些

Bookinfo镜像准备

下载镜像

docker pull docker.io/istio/examples-bookinfo-details-v1:1.15.0
docker pull docker.io/istio/examples-bookinfo-productpage-v1:1.15.0
docker pull docker.io/istio/examples-bookinfo-ratings-v1:1.15.0
docker pull docker.io/istio/examples-bookinfo-reviews-v1:1.15.0
docker pull docker.io/istio/examples-bookinfo-reviews-v2:1.15.0

给镜像打标签

sudo docker tag istio/examples-bookinfo-details-v1:1.15.0 bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-details-v1:1.15.0
sudo docker tag istio/examples-bookinfo-productpage-v1:1.15.0 bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-productpage-v1:1.15.0
sudo docker tag istio/examples-bookinfo-ratings-v1:1.15.0 bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-ratings-v1:1.15.0
sudo docker tag istio/examples-bookinfo-reviews-v1:1.15.0 bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-reviews-v1:1.15.0
sudo docker tag istio/examples-bookinfo-reviews-v2:1.15.0 bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-reviews-v2:1.15.0

推送镜像到网宿云镜像仓库

docker push bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-details-v1:1.15.0
docker push bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-productpage-v1:1.15.0
docker push bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-ratings-v1:1.15.0
docker push bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-reviews-v1:1.15.0
docker push bj01cr-internal.wangsucloud.com/wgb-test1/examples-bookinfo-reviews-v2:1.15.0

部署Bookinfo应用相关微服务

部署productpage微服务

  1. 进入虚拟服务列表,点击创建按钮
    SD-WAN的作用有哪些
  2. 选择productpage镜像
    SD-WAN的作用有哪些
  3. 填写服务端口,productpage容器的端口为9080,点击确定后完成应用创建,以上步骤将会创建VirtualService、DestinationRule、deployment、service。
    SD-WAN的作用有哪些

部署details、ratings、reviews

部署方式参考productpage微服务部署方式,容器的端口也是9080。完成Bookinfo应用4个微服务部署。

SD-WAN的作用有哪些

创建服务网关

以上步骤创建的应用,集群外部无法访问,需要创建服务网关将服务暴露到集群外部。

  • 进入服务网关列表,点击创建按钮,虚拟服务选择productpage。
    SD-WAN的作用有哪些

  • 服务网关创建过程会创建一个负载均衡实例,大约需要2分钟后才能在服务网关列表查看到新建的服务网关。
    SD-WAN的作用有哪些

  • 访问http://220.243.178.155:9080/productpage
    SD-WAN的作用有哪些

流量管理

###基于流量比例分配流量

  • 进入reviews虚拟服务管理页面。
    SD-WAN的作用有哪些
  • 点击新增灰度版本
    SD-WAN的作用有哪些
  • 设置新版部署版本号。
    SD-WAN的作用有哪些
  • 选择examples-bookinfo-reviews-v2:1.15.0镜像。
    SD-WAN的作用有哪些
  • 设置基于流量比例分配流量的策略。
    SD-WAN的作用有哪些
  • 20%的流量将转发至reviews的v2版本。
    SD-WAN的作用有哪些