一、操作场景
为了帮助你快速体验如何在 TSF 中部署微服务应用,TSF 提供了一对应用 Demo,包含一个 provider 应用和一个 consumer 应用。这篇以一个示例介绍如何在容器环境中部署 Spring Cloud 普通应用,并实现简单的服务调用。
二、前提条件
·已参见 快速创建一个容器集群 创建好一个容器集群并导入云主机。
·已下载并解压 应用 Demo 。
三、步骤1:新建应用
1. 登录 腾讯微服务平台控制台。
2. 在左侧导航栏,单击应用管理,选择业务应用,进入应用列表页。
3. 在应用列表上方单击新建。
4. 设置应用基本信息。
·应用名:填写应用名,创建后名称不可修改。示例:provider-demo。
·部署方式:选择容器部署。
·应用类型:默认业务应用。
·开发语言:选择 JAVA。
·开发框架:选择 SpringCloud。
·标签:非必选,用于分类管理资源。标签详情请参见 标签管理。
·备注:选填。
·数据集:非必选,你可以通过数据集管理配置不同的子账号和协作者使用不同资源的权限,详情请参见 数据集管理。
5. 单击下一步,进行配置注册配置治理方式。
·注册配置治理:开启。关闭后,表示该应用不接入注册配置治理中心,将不会进行服务注册和配置管理。
·实例类别:选择共享实例(TSF-Consul)。
·接入方式:选择 SDK/框架接入。
6. 单击完成。
四、步骤2:上传镜像
1. 单击 步骤1 所创建应用的应用 ID,进入应用详情页,在制品卡片,单击上传程序包/镜像。
2. 在个人仓库上传程序包页面,上传程序包。
·文件上传方式:选择 JAR包部署。
·JDK 版本:选择使用的 JDK 版本。
·上传程序包:单击选择文件,选择提前准备好的 Demo 中的 provider-demo-1.29.0-Finchley-RELEASE 的 jar 程序包(后续部署 consumer 应用时注意选择 consumer 对应的 jar 程序包)。
·程序包版本:填写版本号,或单击用时间戳作为版本号。
3. 单击上传程序包并制作镜像,我们将自动为你制作镜像并上传到镜像仓库,在任务管理将出现任务进行的状态。
4. 任务完成后,在应用详情页制品卡片的镜像列表中将看到上传好的镜像。
五、步骤3:部署应用
1. 在应用详情页,单击应用部署,设置部署组信息。
·集群:选择创建好的集群。
·命名空间:选择集群关联的默认命名空间。
·部署组名称:填写 provider。
·标签:用于分类管理资源,可不选。详情参见 标签。
·备注:选填,可留空。
2. 单击下一步,进入部署配置页面。
3. 设置容器配置信息。
·容器类型:选择 Deployment。
·容器配置:
·镜像仓库类型:选择个人仓库。
·选择镜像:选择 步骤2:上传镜像 中推送到镜像仓库的镜像版本。
·资源配置:应用容器的 CPU 和内存限制使用默认值即可。
·环境变量:非必选,添加环境变量。
·JAVA_OPT:设置 Java 应用的启动参数。
·agent容器:默认勾选,用于采集日志,调用链,JVM 监控和弹性伸缩监控数据。
·实例数量:使用默认值1个。
·访问配置: 单击添加 Service,按以下方法配置完成后单击确定。
·Service 访问方式决定了部署组内应用的网络属性,不同访问方式的应用可以提供不同网络能力。访问方式选择仅在集群内访问。
·端口组选择 TCP 协议,容器端口和服务端口设置为18081。
·Session Affinity 选择 None。
4. 单击下一步,进入发布策略,选择立即部署。
5. 单击下一步,进入服务注册配置&可观测,确认注册配置治理配置内容正确,并按需进行可观测配置。
6. 单击发布,进入应用部署流程。可查看执行进度。
7. 应用部署成功后,重新进入主页单击应用管理, 单击对应的应用 ID,进入应用详情页,单击左侧导航栏的应用部署 > 部署组,查看运行中/预期服务实例数的数值发生变化。
六、步骤4:验证服务调用
重复步骤1到步骤3,部署 consumer 应用。部署完成后可单击控制台左侧 TSF Consul,确认所选地域后,在 服务治理 中通过所属命名空间或ID/名称等查询到相关服务。
七、请求 consumer 来调用 provider
1. 前往应用管理,确认所选地域后,单击目标应用 ID,单击左侧菜单栏 应用部署,进入部署组列表,单击 consumer 部署组 ID,进入服务实例列表页面。
2. 在访问配置模块添加访问配置,增加主机端口访问方式,配置容器端口和服务端口为18083,主机端口选择30000-32767范围内的端口。
3. 前往 资源管理,确认所选地域后,点击容器集群,单击目标容器集群的 ID,进入云主机列表页面,在该列表可获取集群中对应云主机的 公网IP地址。
4. 单击云主机操作栏的登录,输入登录密码,登录云服务器。
5. 执行 curl 命令调用 consumer-demo 服务,其中<云主机 IP> 和 <NodePort> 为上述步骤获取的主机端口(NodePort)和云主机 IP 地址。
curl <云主机 IP>:<NodePort>/echo-rest/test
调用结果如下:
八、查看服务依赖拓扑图
1. 前往 TSF Consul,确认所选地域后,选择服务治理。
2. 单击 consumer-demo 服务的 ID,进入服务详情页面,可以看到两个服务的依赖关系。
上图两个服务的依赖关系表示:在选中时间范围内, consumer-demo 调用了 provider-demo 服务,调用耗时15.9ms。