腾讯云微服务引擎 TSE - 在 CVM 上使用 DNS
文档简介:
操作场景:
本文通过一个 demo 进行 Golang 应用接入微服务引擎托管的 PolarisMesh 治理中心的全流程操作演示,帮助您快速了解如何在 CVM 使用 DNS 协议来体验北极星网格的就近路由能力。
操作场景
本文通过一个 demo 进行 Golang 应用接入微服务引擎托管的 PolarisMesh 治理中心的全流程操作演示,帮助您快速了解如何在 CVM 使用 DNS 协议来体验北极星网格的就近路由能力。
前提条件
已创建 PolarisMesh 北极星网格,请参见 创建 PolarisMesh 治理中心。
下载 Github 的 demo 源码 到本地并解压。
本地编译构建打包机器环境已安装了 golang 环境,并且能够访问 Github。
下载 Github 的 polaris-sidecar-local_${VERSION} 安装包。
根据您自身的业务,已准备好业务部署的 CVM。
虚拟机部署已创建 CVM 虚拟机,请参见 创建 CVM 虚拟机。
操作步骤
1. 登录 TSE 控制台。
2. 在北极星网格下的 polarismesh 页面,单击页面左上方下拉列表,选择目标地域。
3. 单击目标引擎的“ID”,进入基本信息页面。
4. 查看访问地址,Golang 应用访问使用 gRPC 端口(8091):


5. 修改 demo 中的注册中心地址
5.1 在下载到本地的 demo 源码 目录下,找到nearby/provider/polaris.yaml文件。
5.2 添加微服务引擎北极星网格地址到项目配置文件中。
global:serverConnector:addresses:- 10.0.4.6:8091location:# 设置 polaris-go 进程地理信息的提供插件为 腾讯云 插件# 如果当前进程在CVM或者TKE中,则能够自动获取当前进程所在的位置信息## 如果自动获取失败,则可以设置插件为 env,然后在 linux 中注入以下环境变量# POLARIS_INSTANCE_ZONE: 设置 zone 信息, 例如 ap-guangzhou# POLARIS_INSTANCE_CAMPUS: 设置 IDC 信息, 例如 ap-guangzhou-3provider: qcloud
6. 将源码编译成可执行程序。
6.1 在 provider 这个目录下,打开 cmd 命令,执行以下命令,对项目进行编译:
编译 provider:CGO_ENABLED=0 go build -ldflags "-s -w" -o provider
编译成功后,生成如下表所示的二进制包。
|
软件包所在目录
|
软件包名称
|
说明
|
|
\route\nearby\provider
|
provider
|
服务生产者
|
6.2 将 provider 的二进制以及 polaris-sidecar-local-${VERSION} 安装包上传到不同的 CVM 实例中,这里假定上传的路径均为/data/polaris/golang_examples。
7. 部署 provider 微服务应用以及 polaris-sidecar。
7.1 虚拟机部署方式部署 provider 微服务应用。
上传二进制文件以及配置文件(polaris.yaml)至 CVM 实例。
执行启动命令进行启动:
./[二进制文件名称]
7.2 虚拟机部署方式部署 polaris-sidecar。
解压 polaris-sidecar-local-${VERSION} 安装包。
进入安装包目录,执行安装命令,由于 polaris-sidecar 会监听 53 端口,因此需要使用 root 权限进行启动以及需要确保 53 端口没有被监听。
bash install-linux.sh -s "10.0.4.6:8091"
8. 修改 polaris-sidecar 的地址插件并重启 polaris-sidecar。
8.1 配置文件路径信息:polaris-sidecar-install/polaris-sidecar-release_${VERSION}/polaris.yaml
global:serverConnector:addresses:- 10.0.4.6:8091location:# 设置 polaris-go 进程地理信息的提供插件为 腾讯云 插件# 如果当前进程在CVM或者TKE中,则能够自动获取当前进程所在的位置信息## 如果自动获取失败,则可以设置插件为 env,然后在 linux 中注入以下环境变量# POLARIS_INSTANCE_ZONE: 设置 zone 信息, 例如 ap-guangzhou# POLARIS_INSTANCE_CAMPUS: 设置 IDC 信息, 例如 ap-guangzhou-3provider: qcloud
8.2 重启 polaris-sidecar。
进入 polaris-sidecar-install/polaris-sidecar-release_${VERSION}
执行 shell 命令
bash tool/stop.sh; bash tool/start.sh
9. 确认部署结果。
9.1 进入前面提到的微北极星网格实例页面。
9.2 选择服务管理 > 服务列表,查看微服务 RouteNearbyEchoServer 的实例数量。
若实例数量值不为0,则表示已经成功接入微服务引擎。
若实例数量为0,或者找不到 RouteNearbyEchoServer 服务名,则表示微服务应用接入微服务引擎失败。

9.3 开启 RouteNearbyEchoServer 的就近路由。

10. 为 RouteNearbyEchoServer 创建服务别名 routenearby.echoserver。


11. 调用 provider 的 HTTP 接口,执行 http 调用,其中${app.port}替换为 provider 的监听端口(默认为28080),${add.address}则替换为 provider 的域名信息。
curl -L -X GET 'http://routenearby.echoserver.default:28080/echo'预期返回值:Hello, I'm RouteNearbyEchoServer Provider, MyLocInfo's : xxx, host : xxx:xxx






