连接边缘节点本地baetyl-broker服务
所有文档

          智能边缘 BIE

          连接边缘节点本地baetyl-broker服务

          背景描述

          从 baetyl 2.1.1 版本开始,所有官方应用(baetyl-broker,baetyl-function,baetyl-rule)都默认集成baetyl-go-sdk,由baetyl-core负责这些官方应用的证书签发,服务间调用默认使用baetyl-core签发的证书进行认证。

          开发者如果要想访问本地baetyl-broker,对baetyl-broker进行配置,开放外部访问。设置访问broker用户名和密码,并绑定宿主机监听端口,这样在任何机器上使用MQTT Client都可以使用host_machne_ip:port访问baetyl-broker服务。

          本文会对以上方案进行讲解。


          操作指南

          节点安装

          参考快速入门安装边缘节点。在边缘端执行完安装命令以后,通过kubectl命令查看baetyl-edge-system命名空间内的系统应用。

          root@userver-desk:~# kubectl get pod -n baetyl-edge-system
          NAME                               READY   STATUS    RESTARTS   AGE
          baetyl-init-d968b7bb9-c8b22        1/1     Running   0          3h24m
          baetyl-core-7d5995f956-7jszr       1/1     Running   0          3h24m
          baetyl-rule-5f4d7f964-xprx8        1/1     Running   0          3h24m
          baetyl-function-6c7fd69f44-xwnxk   1/1     Running   0          3h24m
          baetyl-broker-6f9cbbd794-rb9p7     1/1     Running   0          3h24m

          baetyl-broker端口绑定本地8883端口

          进入到边缘节点,点击应用部署,找到baetyl-broker应用,点击查看,如下图所示:

          image.png

          进入到baetyl-broker应用界面,点击配置,如下图所示:

          image.png

          端口映射——>宿主机端口那里添加一条端口映射记录,如下图所示:

          image.png

          • 宿主机端口:8883
          • 容器端口:8883
          • 协议:TCP

          返回应用配置界面,切到数据卷页面,点击baetyl-broker-conf这个配置卷,如下图所示:

          image.png

          进入配置项配置页面,点击编辑,如下图所示:

          image.png

          在conf.yaml配置界面,输入以下配置信息,下图所示:

          image.png

          session:
            sysTopics:
              - $link
              - $baetyl
          logger:
            level: debug
            encoding: console
          listeners:
            - address: 'tcp://0.0.0.0:8883'
          principals:
            - username: test
              password: test
              permissions:
                - action: pub
                  permit:
                    - '#'
                - action: sub
                  permit:
                    - '#'

          配置解析:

          • 为baetyl-broker增加8883监听端口,使用test/test这样的用户名密码进行访问,该用户具有#这个topic的pub/sub权限。
          • 这里不一定必须是8883,可以是其他任何没有用过的端口,可以使用 netstat -ap | grep 8883 这个命令查看8883端口是否被占用

          使用MQTT Box访问

          在工作PC上安装MQTT Box,配置连接信息,如下图所示:

          image.png

          返回MQTT Box,可以看到连接状态是Connected,测试消息订阅与发送,如下图所示:

          image.png

          上一篇
          边缘数据上传至MQTT Broker
          下一篇
          函数计算实战