有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

本文以容器环境为例介绍通过 TSF 控制台创建并部署 Mesh 应用,查看服务是否注册成功并验证服务调用的操作方法。

准备工作

1. 下载 TSF 提供的 Python Mesh Demo(docker)
2. 解压 Demo 压缩包,分别进入二级目录(如 demo-mesh-promotion 目录),执行 docker build 命令制作容器镜像。
3. 在 TSF 控制台上已创建容器集群并导入云主机,详情参见 集群管理
4. 用户的开发机上已安装docker环境(用于推送镜像到镜像仓库)。

操作步骤

步骤1:创建并部署 Mesh 应用

1. 创建应用

1. 登录 TSF 控制台
2. 在左侧导航栏,单击应用管理,进入应用列表页。
3. 在应用列表页,单击新建应用,并填写以下信息:
应用名:填写应用名称
部署方式:选择 容器部署
业务类型:选择 业务应用
开发语言:选择 其他语言
开发框架:选择 其他框架
应用类型:选择 Mesh应用
服务配置:可以选择使用本地 Spec.yaml(默认方式)或者控制台配置。 若选择控制台配置,需要填写以下信息:


服务名:最长60个字符,只能包含字母、数字和分隔符(“-”),且不能以分隔符开头或结尾。
监听端口:只有1个(接口使用数组类型)。协议:HTTP/HTTP2/gRPC/Dubbo;端口范围 1~65535。
心跳检查接口:校验逻辑,以 / 开头。不超过200个字符。
注意
控制台配置时,应用镜像的 Dockerfile 运行命令前需加上这样一条命令 touch /opt/tsf/app_config/running 以告知 Sidecar 容器应用容器已启动,例如 Demo 中 Dockerfile 的启动命令可以这样写:
ENTRYPOINT ["bash", "-c", "touch /opt/tsf/app_config/running && /root/app/shopService/start.sh"]
标签:选择已有标签或者前往标签管理创建。
4. 单击提交,完成应用创建。

2. 将镜像推送到仓库

1. 在左侧导航栏,单击镜像仓库,进入镜像列表页。首次使用时,您需要设置镜像仓库密码(该密码与腾讯云官网账号密码独立)。
2. 在镜像列表页,单击应用管理 > ID/应用名 > 镜像,单击使用指引,根据指引中的命令将 Python demo 应用的镜像(参见 准备工作 中的第2步)推送到镜像仓库中(详情参见 镜像管理)。

3. 部署应用

1. 在应用列表中,单击在 步骤1:创建应用 中创建的应用的 “ID”。
2. 在部署组页面,单击新建部署组,设置部署组相关信息。
组名:填写 部署组信息。
集群:选择提前创建好的集群。
命名空间:选择集群关联的默认命名空间。
日志配置项:用于采集应用的业务日志数据,此处可选择
日志投递:用于日志转储,此处可选择
3. 单击保存&下一步,进入部署应用页面。
4. 设置部署相关信息。
选择镜像:选择 步骤2:将镜像推送到仓库 中推送到镜像仓库的镜像版本。
启动参数(选填):设置 Java 应用的启动参数。
环境变量(选填):此处可不填写。
资源配置:应用容器的 CPU 和内存限制使用默认值即可,实例数设置为1。
访问配置:
网络访问方式决定了部署组内应用的网络属性,不同访问方式的应用可以提供不同网络能力。
端口映射中选择 TCP 协议,容器端口和服务端口填写相同的数值(user:8089,shop:8090,promotion:8091)
5. 单击提交,完成应用部署,部署应用后部署组状态变为运行中。

步骤2:查看服务是否注册成功

1. 在左侧导航栏,单击 服务治理,进入服务列表页,查看服务是否注册成功。如果注册成功,服务显示在线状态。


2. 在服务列表页,单击服务 ID,进入服务详情页。单击 API 列表标签页,可以查看上报的 API 定义。

步骤3:验证服务调用

使用同样的步骤部署 user、shop 和 promotion 三个应用。user、shop、promotion 三个服务的接口间调用关系如下:



1. 触发 user 服务调用 shop 和 promotion 服务

为了验证 user 服务能通过服务名来调用 shop 服务,需要用户通过以下三种方式来触发 user 服务的接口调用:
负载均衡 IP + 服务端口:如果部署组在部署时,网络访问方式选择了提供公网访问方式,可以通过负载均衡 IP + 服务端口来访问user服务的/api/v6/user/account/query接口。
云主机 IP + NodePort:如果部署组在部署时,网络访问方式选择了主机端口访问,可以通过云主机 IP + NodePort来访问user服务的/api/v6/user/account/query接口。其中云主机 IP为集群中任一云主机的内网 IP,NodePort可以在部署组的基本信息页面被查看。用户首先登录到集群所在 VPC 的机器,然后执行如下命令:
curl -XGET <云主机 IP>:<NodePort>/api/v6/user/account/query
API 网关:用户可以通过在 API 网关配置微服务 API 来调用 user 服务的接口。关于如何配置微服务 API 网关,可参见文档 API 网关作为请求入口

2. 在控制台验证服务之间是否调用

可以通过以下两种方式验证服务是否成功被 Sidecar 代理注册到注册中心,同时验证服务之间是否成功地进行了调用。
服务治理界面:选择集群和命名空间后,如果服务列表中的服务状态为在线单点在线,表示服务被代理注册成功。如果服务提供者的请求量大于0,表示服务提供者被服务消费者请求成功。


依赖拓扑界面:选择集群和命名空间后,调整时间范围,使其覆盖服务运行期间的时间范围,正常情况下,将出现服务之间相互依赖的界面。



常见问题