为ASM实例添加入口网关后,您可以部署应用到该实例关联的集群。本文介绍如何将Bookinfo书评应用部署到ASM实例关联的ACK集群。
前提条件
已创建至少一个ASM实例,并添加至少一个ACK集群到该实例中。具体操作,请参见创建ASM实例和添加集群到ASM实例。
已通过Kubernetes命令行客户端kubectl连接到ASM实例中新添加的ACK集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
已为ACK集群创建入口网关,使应用示例对外暴露访问。具体操作,请参见创建入口网关。
应用说明
本文所使用应用示例是一个名为Bookinfo的书评应用。微服务架构如下图所示:
该应用由以下4个微服务构成:
Productpage:该微服务会调用Details和Reviews两个微服务,用来生成页面。
Details:该微服务包含了书籍的信息。
Reviews:该微服务包含了书籍相关的评论,同时会调用Ratings微服务。
Ratings:该微服务包含了由书籍评价组成的评级信息。
Reviews微服务有3个版本:
v1版本不会调用Ratings服务。
v2版本会调用Ratings服务,并使用1到5个黑色星形图标来显示评分信息。
v3版本会调用Ratings服务,并使用1到5个红色星形图标来显示评分信息。
操作步骤
为default命名空间启用Sidecar网格代理自动注入。具体操作,请参见启用自动注入。
从Github的Istio项目库中下载Bookinfo的YAML文件。
通过kubectl执行以下命令,将Bookinfo应用部署到ASM实例关联的集群中。
kubectl apply -f bookinfo.yaml
查看Bookinfo应用的部署情况。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择
。在容器组页面,从命名空间下拉列表中选择default,查看Bookinfo应用部署所对应的Pod信息。
说明您可以单击对应Pod操作列的详情,查看Pod的详细信息。
后续操作
您可以创建网关规则和虚拟服务,通过ASM网关对服务进行访问,还可以创建目标规则,将流量按照比例路由到服务的不同版本。具体操作,请参见使用Istio资源实现版本流量路由。