操作场景
本文通过一个 demo 进行 Golang 应用接入微服务引擎托管的 PolarisMesh 治理中心的全流程操作演示,帮助您快速了解如何在 Kubernetes 中使用 DNS 协议来体验使用北极星网格的就近路由能力。
前提条件
已创建 PolarisMesh 北极星网格,请参见 创建 PolarisMesh 治理中心。
已准备好业务部署的容器资源。
创建 TKE 容器集群,请参见 创建 TKE 集群。
下载 Github 的 demo 源码 到本地。
操作步骤
1. 登录 TSE 控制台。
2. 在北极星网格下的 polarismesh 页面,单击页面左上方下拉列表,选择目标地域。
3. 单击目标引擎的“ID”,进入基本信息页面。
4. 查看访问地址,Golang 应用访问使用 gRPC 端口(8091):
5. 将北极星网格和 Kubernetes 集群进行关联,请参见 关联 K8s 集群。
6. 开启 polaris-sidecar 的注入能力。
# 对于 default 命名空间开启注入能力kubectl label namespace default polaris-injection=enabled# 对于注入的 polaris-sidecar 运行模式设置为 dns 模式kubectl label namespace default polaris-sidecar-mode=dns
7. 修改 demo 中的注册中心地址:
7.1 在下载到本地的 demo 源码 目录下,找到
configmap-provider.yaml
文件。7.2 添加微服务引擎北极星网格地址到项目配置文件中(这里已
configmap-provider.yaml
为例)。7.3 修改位置信息获取插件名称到项目配置文件中(这里已
configmap-provider.yaml
为例)。apiVersion: v1data:polaris.yaml: |-global:serverConnector:addresses:- 10.0.4.6:8091location:# 设置 polaris-go 进程地理信息的提供插件provider: qcloudconsumer:serviceRouter:plugin:nearbyBasedRouter:#描述:就近路由的最小匹配级别#范围:region(大区)、zone(区域)、campus(园区)matchLevel: campuskind: ConfigMapmetadata:name: polaris-consumer-confignamespace: default
8. 将 demo 部署至 TKE 集群中。
kubectl apply -f ./
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.svc.polaris:28080/echo'预期返回值:Hello, I'm RouteNearbyEchoServer Provider, MyLocInfo's : xxx, host : xxx:xxx