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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文介绍了使用阿里云容器服务部署运行bookinfo示例的过程,通过该实例可以了解istio的部分特性。

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相关特性,包括智能路由,错误注入,流量控制等。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
专有云 Serverless 持续交付
亚太唯一,阿里云再度入选Gartner®容器管理魔力象限领导者
Gartner正式发布 2024《容器管理魔力象限》报告,阿里云再度成为中国唯一一家入选「领导者象限」的科技公司。
|
20天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
280 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
16天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
8天前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
26 0
|
1月前
|
人工智能 专有云 Serverless
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
105 2
|
16天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
44 0
|
1月前
|
弹性计算 Kubernetes 网络协议
阿里云弹性网络接口技术的容器网络基础教程
阿里云弹性网络接口技术的容器网络基础教程
阿里云弹性网络接口技术的容器网络基础教程
|
1月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
76 3
|
1月前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
46 0
|
2月前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。
阿里云容器服务 ACK One 分布式云容器企业落地实践

相关产品

  • 容器计算服务
  • 下一篇
    无影云桌面