为 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 个红色星形图标来显示评分信息。

操作步骤

  1. 登录容器服务控制台,在左侧导航栏中选择集群 > 命名空间
  2. 命名空间页面,从集群下拉列表中选择对应的集群。
  3. default命名空间的操作列,单击编辑
  4. 编辑命名空间对话框中,为该命名空间添加标签,单击添加
    1. 变量名称文本框中输入 istio-injection
    2. 变量值文本框中输入enabled
    说明 您也可以通过 kubectl 执行以下命令为命名空间添加标签:
    kubectl label namespace default istio-injection=enabled
  5. Github 的 Istio 项目库中下载 Bookinfo 的 YAML 文件。
  6. 通过 kubectl 执行以下命令,将 Bookinfo 应用部署到 ASM 实例的集群中。
    kubectl apply -f bookinfo.yaml

执行结果

查看 Bookinfo 应用的部署情况。

  1. 登录容器服务控制台,在左侧导航栏中选择应用 > 容器组
  2. 容器组(Pod)页面,从集群下拉列表中选择对应的集群,从命名空间下拉列表中选择default

    容器组(Pod)页面可以查看到 Bookinfo 应用部署所对应的 Pod 信息。

  3. 如需查看详细信息,单击对应 POD 操作列的详情Pod列表_default