男神鹏:micro-client 工具 使用指南
micro-client :
- 背景:
由于目前业务分层化,原子层的实现是通过go-micro写的。micro-client 可支持 页面 本地调试 和 K8s 线上 调试 go-micro RPC 接口。
- 帮助自测:
- 排查问题,直接请求原子层,不用每次调用http的请求
使用说明
本地调试
1. micro-client安装
- 内部同学二进制安装
Mac 安装
wget https://mirrors.tencent.com/repository/generic/CloudIndustryTools/micro-client/v1.0.0/mac/micro-client -O /usr/local/bin/micro-client;chmod +x /usr/local/bin/micro-client
Linux 安装
wget https://mirrors.tencent.com/repository/generic/CloudIndustryTools/micro-client/v1.0.0/linux/micro-client -O /usr/local/bin/micro-client;chmod +x /usr/local/bin/micro-client
Windows 安装
curl -L https://mirrors.tencent.com/repository/generic/CloudIndustryTools/micro-client/v1.0.0/win/micro-client.exe -o "C:\Program Files\micro-client.exe
- 外部合作伙伴二进制安装
Mac 安装
wget https://epc-product-1257948216.cos.ap-guangzhou.myqcloud.com/micro-client/v1.0.0/mac/micro-client -O /usr/local/bin/micro-client;chmod +x /usr/local/bin/micro-client
Linux 安装
wget https://epc-product-1257948216.cos.ap-guangzhou.myqcloud.com/micro-client/v1.0.0/linux/micro-client -O /usr/local/bin/micro-client;chmod +x /usr/local/bin/micro-client
Windows 安装
curl -L https://epc-product-1257948216.cos.ap-guangzhou.myqcloud.com/micro-client/v1.0.0/win/micro-client.exe -o "C:\Program Files\micro-client.exe
2. 本地使用方式:
micro-client web
,启动- 在浏览器中输入
http://localhost:8082
,进入 client 页面 - 选择 MDNS 模式 对应的服务与接口,输入请求参数对应的值即可
- 若调试接口时,出现 500 的错误,请检查一下终端是否设置了
http_proxy
、https_proxy
等环境变量
K8s 线上调试
- 根据不同环境配置不同的hosts 域名(标准化团队提供),通过域名访问micro-web,进入 client 页面。
- 选择 K8s 模式 对应的服务与接口,输入请求参数即可, k8s 模式需要手动填写服务名及对应参数请求。
(如果mdns 下也存在对应的服务,Endpoint 和 request 参数可以复用 ) - 关于 Other Endpoint 及 Request 的内容:
以 billing-payment 为例。
- Other Endpoin 的内容为:
- Request的内容为:
⚠️ 注意:
- 由于js 的原因,比如 AccountId参数 int64传递会丢失精度,如下:
- 解决方案:int64位的参数,value加“”传递
拓展功能:
micro-client 集成mysql-client 工具,远程登录 epc-cli 节点,执行工作目录下的mysql-connect.sh 即可连接当前环境的数据库
micro-web 部署说明文档
- 新建configmap 名称为 kubeconfig,配置的key 为config-cli,value 为集群凭证的内容
2.- 新建deployment:epc-cli
2.1 新增环境变量,如下:
- 类型为Field: MY_DEPLOYMENT_NAMESPACE = metadata.namespace
- 自定义变量:ENV_NAME=remote
2.2 挂载 kubeconfig 文件 和 config-common(config-common和业务配置共用): - kubeconfig 挂载目标目录:/data/etc/.kube/config-cli
子路径:config-cli - config-common 挂载目标目录:/data/etc/config-common.yaml
子路径:config-common.yaml - 配置端口为:8082。
- nginx 的配置中添加 epc-cli的路由即可。
# epc-cli micro_web 服务
server {
listen 80;
server_name micro.web.qcloud.com;
location / {
proxy_pass http://epc-cli:8082/;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
本地安装 的二进制更新:
master 分支, 打tag标签,CODING 生成二进制文件,流水线执行,自动更新。