使用 L5Agent

环境准备

部署polaris

如果已经部署好了polaris,可忽略这一步。

polaris支持在kubernetes环境中进行部署,注意必须保证暴露HTTP端口为8090,gRPC端口为8091。具体部署方案请参考:

开启服务端的 L5 接入能力

编辑 polaris-server.yaml 配置文件

  1. # apiserver配置
  2. apiservers:
  3. ...
  4. # - name: service-l5
  5. # option:
  6. # listenIP: 0.0.0.0
  7. # listenPort: 7779
  8. # clusterName: cl5.discover

将相关注释移除

  1. # apiserver配置
  2. apiservers:
  3. ...
  4. - name: service-l5
  5. option:
  6. listenIP: 0.0.0.0
  7. listenPort: 7779
  8. clusterName: cl5.discover

重启 polaris-server

  1. bash tool/stop.sh
  2. bash tool/start.sh
  1. bash tool/stop.cmd
  2. bash tool/start.cmd

修改 L5Agent 配置

修改 L5Agent 安装目录下的 conf/l5_config.ini 配置文件

  1. [L5CONFIG]
  2. ServerIp={北极星服务端IP}
  3. ServerPort=7779

修改完上述配置之后,重启 L5Agent。在重启前需要删除 /data/L5Backup/l5server_list.backup

验证

SID 规范以及注意

  • L5 SDI 的格式:ModID:CmdID
  • 强烈建议用户命名空间选择 default 或者 Production,ModID 取值范围为: [2, 192,000,000]
  • 如果用户确实有需要使用其他命名空间,请按照以下方式进行其他命名空间的换算:ModID 数值右移6位,如果结果 >= 3000001,则需要计算 ModID & 63 的结果值,根据结果值对应的命名空间信息如下,否则会出现L5寻址失败的问题:

    1. {
    2. 1: "Production",
    3. 2: "Development",
    4. 3: "Pre-release",
    5. 4: "Test",
    6. 5: "Polaris",
    7. 6: "default",
    8. }

创建测试服务以及SID

由于 l5api 仅支持访问 L5 SID,因此访问非 L5 SID 格式的服务名,需要创建 CL5 SID 格式的服务别名指向该服务

使用 L5Agent - 图1

执行

  1. bin ./L5GetRoute1 192002625 487373 3
  2. ip is :127.0.0.1 port is : 8091, usec=153,avg_usec=153=========================
  3. ip is :127.0.0.1 port is : 8091, usec=2,avg_usec=77=========================
  4. ip is :127.0.0.1 port is : 8091, usec=111,avg_usec=88=========================