EdgeX Foundry 安装部署

文章目录

    • 一、概述
      • 1.官方文档
      • 2.Docker Compose 生成器
      • 3.创建 docker-compose 文件
    • 二、安装准备
      • 1. 克隆服务器
      • 2.安装 Docker
      • 3.安装 docker-compose
    • 三、非安全模式部署
      • 1.docker-comepse
      • 2.启动 EdgeX Foundry
      • 3.访问 UI
        • 3.1. consul
        • 3.2. EdgeX Console

  • EdgeX Foundry
# EdgeX Foundryhttps://iothub.org.cn/docs/edgex/
https://iothub.org.cn/docs/edgex/deploy/deploy/

一、概述

1.官方文档

# Quick Start
https://docs.edgexfoundry.org/3.1/getting-started/quick-start/# edgexfoundry/edgex-compose
https://github.com/edgexfoundry/edgex-compose# Edgex Docker Compose Builder
https://github.com/edgexfoundry/edgex-compose/tree/main/compose-builder

2.Docker Compose 生成器

生成 docker-compose.yml 选项

gen [options]
Generates temporary single file compose file (`docker-compose.yml`) as specified by:Options:no-secty:         Generates non-secure compose,otherwise generates secure compose filearm64:            Generates compose file using ARM64 imagesdev:              Generates using local built images from edgex-go repo'make docker' creates local docker images tagged with '0.0.0-dev'app-dev:          Generates using local built images from application service repos'make docker' creates local docker images tagged with '0.0.0-dev`device-dev:       Generates using local built images from device service repos'make docker' creates local docker images tagged with '0.0.0-dev'ui-dev:           Generates using local built images from edgex-ui-go repo'make docker' creates local docker image tagged with '0.0.0-dev'delayed-start:    Generates compose file with delayed start services- spire related services and spiffe-token-provider service includedds-modbus:        Generates compose file with device-modbus includedds-bacnet-ip:     Generates compose file with device-bacnet-ip includedds-bacnet-mstp:   Generates compose file with device-bacnet-mstp includedds-onvif-camera:  Generates compose file with device-onvif-camera includedds-usb-camera:    Generates compose file with device-usb-camera includedds-mqtt:          Generates compose file with device-mqtt includedds-rest:          Generates compose file with device-rest includedds-snmp:          Generates compose file with device-snmp includedds-virtual:       Generates compose file with device-virtual includedds-coap:          Generates compose file with device-coap includedds-gpio:          Generates compose file with device-gpio includedds-uart:          Generates compose file with device-uart includedds-llrp:          Generates compose file with device-rfid-llrp includedmodbus-sim:       Generates compose file with ModBus simulator includedasc-http:         Generates compose file with App Service HTTP Export includedasc-mqtt:         Generates compose file with App Service MQTT Export includedasc-metrics:      Generates compose file with App Service Metrics InfluxDb includedasc-sample:       Generates compose file with App Service Sample includedas-llrp:          Generates compose file with App RFID LLRP Inventory includedas-record-replay: Generates compose file with App Record & Replay includedasc-ex-mqtt:      Generates compose file with App Service External MQTT Trigger includedmqtt-broker:      Generates compose file with a MQTT Broker service includedmqtt-bus:         Generates compose file with services configured for MQTT Message BusThe MQTT Broker service is also included.mqtt-verbose      Enables MQTT Broker verbose logging.nanomq:           ** Experimental ** Generates compose file with NonoMQ MQTT broker when mqtt-broker or mqtt-bus are specifiedNot valid in secure mode when uses with mqtt-busnats-bus:         Generates compose file with services configured for NAT Message BusThe NATS Server service is also included.

在这里插入图片描述

生成 docker-compose.yml 说明:

  • no secty:生成非安全的 docker-compose.yml 文件,否则生成安全的合成文件
  • arm64: 生成 docker-compose.yml 文件用 ARM64 容器镜像
  • ds-mqtt: 生成 docker-compose.yml 文件包含 MQTT 设备服务
  • ds-modbus: 生成 docker-compose.yml 文件包含 Modbus 设备服务
  • ds-rest: 生成 docker-compose.yml 文件包含 REST 设备服务
  • ds-virtual: 生成 docker-compose.yml 文件包含虚拟设备服务
  • mqtt-broker: 生成 docker-compose.yml 文件包含 mqtt-broker 设备服务
  • asc-mqtt: 生成 docker-compose.yml 文件包含 MQTT 导出数据服务
  • asc-http: 生成 docker-compose.yml 文件包含 HTTP 导出数据服务

3.创建 docker-compose 文件

# 1.克隆 edgex-compose
$ git clone https://github.com/edgexfoundry/edgex-compose.git
$ cd edgex-compose 
# 切换分支
$ git checkout v3.1# 2.生成 docker-compose.yml 文件
$ cd compose-builder
$ make gen ds-virtual no-secty# 3.检查生成的文件
$ ls | grep 'docker-compose.yml'
docker-compose.yml

二、安装准备

1. 克隆服务器

# 克隆机器# 修改IP地址
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
192.168.202.233# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld# 设置主机名
hostnamectl set-hostname edgex

2.安装 Docker

安装版本19.03.*

$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo$ yum -y install docker-ce$ systemctl enable docker && systemctl start docker$ docker --version
  • 添加阿里云加速镜像
# 添加阿里云加速镜像cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://gcctk8ld.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=cgroupfs"]
} 
EOF
  • 重启docker
#重启docker
systemctl restart docker

3.安装 docker-compose

安装 docker-compose

#下载源码
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose#给docker-compose添加执行权限
sudo chmod +x /usr/local/bin/docker-compose#查看docker-compose是否安装成功
docker-compose -version

docker-compose 基本操作

# 安装并启动EdgeX
sudo docker-compose up -d     # -d 后台运行容器# 查看所有容器运行状况
sudo docker-compose ps# 显示容器日志
docker-compose logs -f [compose-contatainer-name]# 停止容器
sudo docker-compose stop# 启动容器
sudo docker-compose start# 停止和删除所有容器
sudo docker-compose down# 常用命令:
启动:docker-compose up -d 注意这里需要在yml配置文件路径执行,其他路径执行需要-f指定配置文件地址。
查看日志:docker-compose logs -f ${compose-contatainer-name}
停止:docker-compose stop
停止并删除容器:docker-compose down
其他命令帮助:docker-compose --help

三、非安全模式部署

1.docker-comepse

# 1.克隆 edgex-compose
$ git clone git@github.com:edgexfoundry/edgex-compose.git 
$ git clone https://github.com/edgexfoundry/edgex-compose.git
$ cd edgex-compose 
$ git checkout v3.1# 2.生成 docker-compose.yml 文件(注意这包括 mqtt-broker)
$ cd compose-builder
$ make gen ds-virtual no-secty# 3.检查生成的文件
$ ls | grep 'docker-compose.yml'
docker-compose.yml
[root@edgex mqtt-device]# git clone https://github.com/edgexfoundry/edgex-compose.git
Cloning into 'edgex-compose'...
remote: Enumerating objects: 4779, done.
remote: Counting objects: 100% (2916/2916), done.
remote: Compressing objects: 100% (173/173), done.
remote: Total 4779 (delta 2831), reused 2804 (delta 2741), pack-reused 1863
Receiving objects: 100% (4779/4779), 1.22 MiB | 450.00 KiB/s, done.
Resolving deltas: 100% (4042/4042), done.[root@edgex mqtt-device]# ll
total 4
drwxr-xr-x. 6 root root 4096 Feb  1 04:10 edgex-compose[root@edgex mqtt-device]# cd edgex-compose/
[root@edgex edgex-compose]# git checkout v3.1
Note: checking out 'v3.1'.You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:git checkout -b new_branch_nameHEAD is now at 488a3fe... Merge pull request #424 from lenny-intel/device-mqtt-secure-mode-napa[root@edgex edgex-compose]# cd compose-builder/[root@edgex compose-builder]# make gen ds-virtual no-secty
echo MQTT_VERBOSE=
MQTT_VERBOSE=
docker compose  -p edgex -f docker-compose-base.yml -f add-device-virtual.yml convert > docker-compose.yml
rm -rf ./gen_ext_compose[root@edgex compose-builder]# ls | grep 'docker-compose.yml'
docker-compose.yml

2.启动 EdgeX Foundry

使用以下命令部署 EdgeX:

$ cd edgex-compose/compose-builder
$ docker compose pull
$ docker compose up -d# 修改配置文件
替换IP地址 127.0.0.1 为 0.0.0.0
# docker compose pull# docker compose up -d

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.访问 UI

3.1. consul
# 访问地址
http://192.168.202.233:8500

在这里插入图片描述

3.2. EdgeX Console
# 访问地址
http://192.168.202.233:4000/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • EdgeX Foundry
# EdgeX Foundryhttps://iothub.org.cn/docs/edgex/
https://iothub.org.cn/docs/edgex/deploy/deploy/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/508811.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本科毕业设计:计及并网依赖性的分布式能源系统优化研究。(C语言实现)(内包含NSGA II优化算法)(二)

目录 前言 1、sofc函数 2、光伏板函数 3、集热场函数 4、sofc电跟随策略函数 5、二分法找sofc运行点函数 6、目标函数&#xff1a;成本 7、目标函数&#xff1a;二氧化碳排放量 8、目标函数&#xff1a;并网依赖性 前言 本篇文章介绍的是我的毕业设计&#xff0c;我将C…

DevStack 基于 Ubuntu 部署 OpenStack

Devstack 简介 DevStack 是一系列可扩展的脚本&#xff0c;用于基于 git master 的最新版本快速调出完整的 OpenStack 环境。devstack 以交互方式用作开发环境和 OpenStack 项目大部分功能测试的基础。 devstack 透过执行 stack.sh 脚本&#xff0c;搭建 openstack 环境&…

基于ARIMA+SARIMA的航空公司 RPM 时间序列预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

【轻快图片管理系统】- 系统概述与内置功能介绍

在线体验 如果你觉得项目不错&#xff0c;还望动动你的手指给点点star&#xff0c;让更多人看到优秀的项目&#xff01;&#xff01;&#xff01; 为了便于大家在线体验&#xff0c;本系统提供了演示地址&#xff0c;可以通过下面的演示地址和账号进行登录体验系统功能。 演示…

【自然语言处理】BitNet b1.58:1bit LLM时代

论文地址&#xff1a;https://arxiv.org/pdf/2402.17764.pdf 相关博客 【自然语言处理】BitNet b1.58&#xff1a;1bit LLM时代 【自然语言处理】【长文本处理】RMT&#xff1a;能处理长度超过一百万token的Transformer 【自然语言处理】【大模型】MPT模型结构源码解析(单机版)…

Centos7 排查流量异常进程

首先可以根据漏洞捕获的相关信息的目的端口&#xff0c;查看下监听详情&#xff0c;如&#xff1a;netstat -lnp|grep 9015 执行命令输出如下所示内容&#xff1a; 最终可排查得知&#xff1a; 也可以通过以下方式进行详细排查&#xff1a; 1、基本知识 1.1、iftop介绍 一般…

PYCHARM PYSIDE6 QT 打包异常3种处理方式 no qt platform plugin could be initialized

安装有PYSIDE6的电脑 异常错误 … no qt platform plugin could be initialized … 变量名&#xff1a;QT_QPA_PLATFORM_PLUGIN_PATH &#xff08;一个字都不能改&#xff01;&#xff01;&#xff09; 自己环境变量值&#xff1a;D:\Users\topma\anaconda3\Lib\site-package…

蓝牙BLE 5.0、5.1、5.2和5.3区别

随着科技的不断发展&#xff0c;蓝牙技术也在不断进步&#xff0c;其中蓝牙BLE&#xff08;Bluetooth Low Energy&#xff09;是目前应用广泛的一种蓝牙技术&#xff0c;而BLE 5.0、5.1、5.2和5.3则是其不断升级的版本。本文将对这四个版本的区别进行详细的比较。 一、BLE 5.0…

【外汇110】马来西亚SC更新:3家公司被列入警示名单

马来西亚证券委员会&#xff08;SC&#xff09;已更新投资者警示名单&#xff0c;根据其网站数据&#xff0c;2024年2月已有3家未经授权的网站、投资产品、公司或个人被加入其警告名单。 2024年2月&#xff0c;以下人员或实体已被添加进该监管机构警示名单&#xff1a; Mahadi …

C++调用lua函数

C 调用Lua全局变量(普通) lua_getglobal(lua, "width");int width lua_tointeger(lua,-1);lua_pop(lua,1);std::cout << width << std::endl;lua_close(lua); 这几行代码要放到lua_pcall(lua, 0,0,0);之后才可以. C给lua传递变量 lua_pushstring(lua, …

如何选择程序员职业赛道

目录 前言1 个人技能分析1.1 技术栈评估1.2 经验积累1.3 数据科学能力 2 兴趣与价值观2.1 用户交互与界面设计2.2 复杂问题解决与系统优化 3 长期目标规划4 市场需求分析4.1 人工智能和云计算4.2 前沿技术趋势 5 就业前景5.1 前端在创意性公司中的应用5.2 后端在大型企业中的广…

盲行的守护者:盲人应用的温暖相伴

作为一个视障人士&#xff0c;我常常对前方的未知感到迷茫。每一步都像是踏入未知的领域&#xff0c;恐惧与不安时刻伴随着我。然而&#xff0c;一款名为蝙蝠避障的盲人手机应用&#xff0c;成为了我前行的明灯。 在这款盲人手机应用的帮助下&#xff0c;我拥有了新的探知世界的…