端云联调

最近更新时间: 2024-09-05 15:09:00

操作场景

在进行应用开发时,您可以使用 TSF 提供的插件满足本地应用和部署在云端的 TSF 应用测试联调的需求,无需搭建 VPN,帮助您快速提升开发效率。

前提条件

创建流量代理

  1. 您需购买一台与云端联调服务同地域的 CVM 资源,将其加入到云端联调服务的 VPC 中,并其绑定一个公网 IP。

  2. 如果您需要云端调用本地测试服务,需要在上述已购买的 CVM 资源的 SSH 服务进行如下配置:

  3. 编辑 sshd_config 配置

sudo vim /etc/ssh/sshd_config
  1. 添加如下配置信息允许远程主机连接本地的转发端口,并保存:
GatewayPorts clientspecified
  1. 重启 SSH 服务 Debian/Ubuntu linux:
sudo systemctl restart ssh

CentOS / RHEL / Fedora / Redhat Linux

 sudo systemctl restart sshd

使用限制

  • 作为跳板机的 CVM 必须和联调服务集群处于同一个私有网络 VPC

  • 暂时只支持 TSF Spring Cloud 应用、TSF Service Mesh 应用

  • 不支持分布式日志、监控、分布式链路追踪的云端联调能力

  • TSF Servie Mesh 应用的云端服务在调用本地服务的时候不能显示指定被调服务的端口号(或者将端口号设置为80)

操作步骤

步骤1:创建应用

如果本地测试服务未在云端部署则需为其创建应用并创建部署组获取联调配置,如果本地测试服务已在云端部署仅为本地开发测试实例则仅需在已有的云端应用下创建部署组获取联调配置,您可以使用 TSF 官网提供的 Demo(点击下载)进行验证。

步骤2:创建部署组获取联调配置

  1. 创建部署组 创建部署组关联云端测试服务的集群及命名空间,确保其能相互访问,无需关联实例及部署应用点击保存。

  2. 获取联调配置 单击部署组 ID,查看基本信息获取联调配置,具体参数如下所示:

参数 描述
tsf_token TSF 服务注册 token 认证信息
tsf_namespace_id TSF 命名空间 ID
tsf_applicaton_id TSF 应用 ID
tsf_appid_id 用户账号 ID 信息
tsf_group_id TSF 部署组 ID

步骤3:本地环境配置

  1. 下载本地联调 agent 程序包(点击下载)。

  2. 打开本地 IDE 环境,配置 JVM 启动参数。

JVM 启动参数配置如下:

-javaagent:"agent绝对路径=ssh_host=cvm公网ip&&user=用户名&&pass=密码&&local_port=本地服务启动端口&&remote_ip=cvm内网ip"
-Dtsf_token=TSF服务注册token认证信息
-Dtsf_namespace_id=TSF命名空间ID
-Dtsf_application_id=TSF应用ID
-Dtsf_app_id=账户ID信息
-Dtsf_group_id=TSF部署组ID

示例:

-javaagent:"/Users/root/agent.jar=ssh_host=139.136.79.195&&user=root&&pass=123456tt&&local_port=8080&&remote_ip=172.30.0.93"
-Dtsf_token=rakxSMEnGjXtAvSe9I2BlvqOootl_WAw9YzIiaJ-RD4= 
-Dtsf_namespace_id=namespace-py5lr6v4 
-Dtsf_application_id=application-nygxjma2
-Dtsf_app_id=1300555551 
-Dtsf_group_id=group-jy9zr8ag

配置详情描述如下:

参数 描述 必填
javaagent JavaAgent 动态代理 jar 包路径 必填
ssh_host SSH 服务器地址 必填
ssh_port SSH 服务监听端口 必填
user SSH 服务登录用户名 必填
pass SSH 服务登录密码 选填,pass 和 key 必须要有一个不为空
key SSH 服务登录私钥路径 选填,pass 和 key 必须要有一个不为空
local_port 本地启动服务端口 选填,如果本地调试服务只是正向调用云端服务则可以不填写,如果需要被云端服务访问则需要填写
remote_ip CVM 内网 IP 选填,如果本地调试服务只是正向调用云端服务则可以不填写,如果需要被云端服务访问则需要填写
tsf_token TSF 服务注册 token 认证信息 必填
tsf_namespace_id TSF 命名空间 ID 必填
tsf_applicaton_id TSF 应用 ID 必填
tsf_appid_id 账号 ID 信息 必填
tsf_group_id TSF 部署组 ID 必填
tsf_instance_id 注册实例 ID 选填 ,如果有多个同类型的本地服务需要注册,为了避免实例 ID 相同可以特殊指定
  1. 启动本地服务。

步骤4:联调测试验证

本地服务启动后会在 TSF 服务治理对应的服务详情中显示服务实例列表信息,包含实例信息、服务端口、部署组信息。

在本地通过联调测试远程服务,显示 response 信息则验证成功。