端云联调

最近更新时间: 2025-01-15 17:01: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_tokenTSF 服务注册 token 认证信息
    tsf_namespace_idTSF 命名空间 ID
    tsf_applicaton_idTSF 应用 ID
    tsf_appid_id用户账号 ID 信息
    tsf_group_idTSF 部署组 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

配置详情描述如下:

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

步骤4:联调测试验证

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

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