返回 导航

其他

hangge.com

EdgeX - 使用Kubernetes部署运行EdgeX Foundry边缘计算平台

作者:hangge | 2020-01-28 08:10
    边缘计算平台通常由许多管理和应用程序服务组成,并部署在管理数百万设备的数万个边缘网关上。K8SKubernetes)作为自动化的容器部署、扩展和管理系统,可以确保边缘计算平台的各个服务在如此大规模下的可靠性和可伸缩性。
    下面演示如何在 K8S 环境下运行 EdgeX Foundry 边缘计算平台。

1,准备 YAML 文件

(1)首先将 YAML 部署文件下载到服务器上并解压:
注意:这些部署文件我是基于 GitHub 上一个别人分享的部署文件(点击查看)修改的,但由于其编写的时间比较早,直接使用无法部署成功。因此这里我对其进行了一些修改。

(2)其中 deployments 文件夹里是所有微服务的 Deployment 配置文件。这些我们不需要修改。
一共 15 个配置文件,每一个文件对应一个微服务(每个微服务运行在独立的 Pod 中):
  • 可以看到相较于直接使用 Docker 运行,这里少了 docker-edgex-volume 这个微服务(使用 K8S 时它不再需要了)
  • device-virtualdevice-virtual-deployment.yaml)是虚拟设备服务,启动后会不断从该微服务内置的数据库中随机读取数据(包括设备和数值)发送到 EdgeX(这个不是必须的,不过为了方便测试,我这里将其启用)
  • device-randomdevice-random-go-deployment.yaml)是随机数设备服务,启动后将自动注册名为 Random-Integer-Generator01 的设备,并且不断地将其随机数读数发送到 EdgeX。 (这个也不是必须的,因为功能和上面那个不多,我这里没有启用它)

(4)在 services 文件夹中则是所有 Service 配置文件。其作用是保证各个 Pod 能够相互通信。
为了让我们从外部网络也能访问边缘计算平台相应的微服务,我们可以在对应的 Service 配置中添加 type: NodePort 配置。
  • 比如我这里修改 data-service.yamlmongo-service.yamlconsul-service.yaml 这三个文件。

(5)最后 hack 文件夹内则是两个批处理文件:
  • edgex-up.sh:自动部署所有的 DeploymentService
  • edgex-down.sh:自动移除所有的 DeploymentService

2,部署运行

(1)准备好上述文件后,我们进入 hack 文件夹,执行如下命令则可以自动开始部署:
./edgex-up.sh

(2)部署完毕后执行 kubectl get service | grep edgex 命令查看 8500 对应的外部端口(比如我这里是 31244),使用此端口可以打开 Consul 的仪表板 UI,查看哪些服务已启动:

3,删除应用与服务

如果需要移除边缘计算服务,则同样在 hack 文件夹中执行如下命令:
./edgex-down.sh
评论

全部评论(0)

回到顶部