前面的系列文章中已经提到Istio社区网站提供了一个适合于初学者的Bookinfo示例,通过这个示例可以很快了解它的一些基础概念和能力。同样地,在阿里云服务网格ASM产品中也提供了一个如何部署该Bookinfo示例的快速入门。
本文介绍如何将一个应用示例部署到服务网格ASM 实例中的数据面集群中。
- 阿里云服务网格ASM公测来袭系列之一:快速了解什么是ASM
- 阿里云服务网格ASM公测来袭系列之二:快速创建一个服务网格ASM实例
- 阿里云服务网格ASM公测来袭系列之三:添加一个ACK集群到服务网格ASM实例
- 阿里云服务网格ASM公测来袭系列之四:添加入口网关
- 阿里云服务网格ASM公测来袭系列之五:部署应用到ASM的数据面集群中
- 阿里云服务网格ASM公测来袭系列之六:在ASM中为应用定义路由规则
欢迎扫码入群进一步交流:
前提条件
- 已创建至少一个 ASM 实例,并已添加至少一个 ACK 集群到该实例中。
- 已通过 Kubernetes 命令行客户端 kubectl 连接到 ASM 实例中新添加的 ACK 集群,详情参见通过 kubectl 连接 Kubernetes 集群。
- 本文中的应用示例需要对外暴露访问,因此需要提前为集群添加入口网关。
背景信息
本文所使用应用示例是一个名为 Bookinfo 的书评应用。微服务架构如下图所示:
该应用由以下 4 个微服务构成:
- Productpage:该微服务会调用 Details 和 Reviews 两个微服务,用来生成页面。
- Details:该微服务包含了书籍的信息。
- Reviews:该微服务包含了书籍相关的评论,同时会调用 Ratings 微服务。
- Ratings:该微服务包含了由书籍评价组成的评级信息。
Reviews 微服务有 3 个版本:
- v1 版本不会调用 Ratings 服务。
- v2 版本会调用 Ratings 服务,并使用 1 到 5 个黑色星形图标来显示评分信息。
- v3 版本会调用 Ratings 服务,并使用 1 到 5 个红色星形图标来显示评分信息。
部署应用
- 登录容器服务控制台,在左侧导航栏中选择集群 > 命名空间。
- 在命名空间页面,从集群下拉列表中选择对应的集群。
- 在default命名空间的操作列,单击编辑。
- 在编辑命名空间对话框中,为该命名空间添加标签,单击添加。在变量名称文本框中输入 istio-injection,在变量值文本框中输入enabled。
- 或者,也可以通过 kubectl 执行以下命令为命名空间添加标签:
kubectl label namespace default istio-injection=enabled
- 从 Github 的 Istio 项目库中下载 Bookinfo 的 YAML 文件。
- 通过 kubectl 执行以下命令,将 Bookinfo 应用部署到 ASM 实例的集群中。
kubectl apply -f bookinfo.yaml
执行结果
查看 Bookinfo 应用的部署情况。
- 登录容器服务控制台,在左侧导航栏中选择应用 > 容器组。
- 在容器组(Pod)页面,从集群下拉列表中选择对应的集群,从命名空间下拉列表中选择default。
在容器组(Pod)页面可以查看到 Bookinfo 应用部署所对应的 Pod 信息。 - 如需查看详细信息,单击对应 POD 操作列的详情。