Skip to Content

边缘设备

添加边缘设备

通过额外的边缘设备(即工业 PC),您可以将 IronFlock 应用部署到更多机器上,并将应用运行负载从 Appliance 分流出来。 Appliance 本身已作为一台边缘设备,但您可以以与在 IronFlock 云端部署边缘设备相同的方式接入更多边缘设备。 只需进入 项目设置 -> 设备 -> 新建设备 并按照说明操作即可。

设备代理程序更新

连接到 Appliance 的边缘设备从 Appliance 自身获取 IronFlock 设备代理程序的更新——它们从不访问 instance-registry.ironflock.com,也不需要为此接入互联网:

  • 简单模式(IP): http://<appliance-host>:15002/dl——与设备已用于获取镜像仓库令牌的端口相同。
  • 域名/TLS 模式: https://registry.<appliance-domain>/dl,通过端口 443。

Appliance 在本地保留一份代理程序二进制文件的镜像副本,并每 6 小时从 https://instance-registry.ironflock.com(已在防火墙放行列表中)刷新一次;也可以在 设置 → 许可证/Appliance → 设备代理程序更新 → 立即同步 中按需刷新。您也可以从 IronFlock 云端刷新某个 Appliance 的镜像副本,无需打开该实例,也无需登录 Appliance 本身:在云端 Studio 中进入 个人资料 → 实例,您拥有的每个 Appliance 在那里都有一个 设备代理程序更新 列,显示其镜像副本当前向设备提供的代理程序版本(下方是设备安装程序的版本),并可在同一单元格中执行 立即同步。镜像副本遵循云端的发布清单:云端清单当前引用的每个代理程序版本都会被保留——涵盖所有 Linux 目标平台和 Windows——而某个版本只有在 Appliance 上完整就绪后才会提供给设备。如果云端发布了一个在 Appliance 上尚未完整的版本,设备将继续看到之前的版本。

代理程序从已签名的目录树 <base>/device-agent/(已签名的 manifest.json 和带 .sig 签名的二进制文件)下载,在应用前校验每次更新,如果新版本无法启动则自动回滚。更新只会在代理程序启动时,或用户在 Studio 中发起更新时应用。

设备从其 .flock 文件(update_url)获知更新地址;从代理程序版本 0.21.2 起,还会在每次心跳时从 Appliance 获取。因此,Appliance IP 的变更或切换到域名模式都会自动传播到设备。

在此功能推出之前配置的设备如果仍运行旧版代理程序,需要重新下载一次其 .flock 文件。在 Windows 上:停止该服务(device-agent.exe service stop),用新文件(保存时不带 BOM)替换 %ProgramData%\IronFlock\DeviceAgent\device.flock——在代理程序 1.4.0 之前安装的设备上,该文件夹为 %ProgramData%\IronFlock\Reagent——然后重新启动该服务(device-agent.exe service start)。

注册无法访问互联网的设备

Appliance 还会镜像设备安装程序(ironflock-init)及其安装脚本,因此只能访问 Appliance 的新边缘设备同样可以完成注册。在 项目设置 → 设备 → 新建设备 中显示的命令已经指向 Appliance——简单模式(IP)下为 http://<appliance-host>:15002/dl/...,域名模式下为 https://registry.<appliance-domain>/dl/...:

  • Linux: 一行命令的形式为 curl -fsSL <base>/device-init/install.sh | sudo IRONFLOCK_DL_BASE=<base> bash -s -- -c <file>.flock。请先把设备的 .flock 文件复制到设备上。ironflock-init 会从 .flock 文件中读取下载基址;--download-base 可覆盖该设置。
  • Windows: 从 <base>/device-agent/windows/amd64/latest/device-agent.exe 下载 device-agent.exe,并按照连接设备中的说明安装服务。

无法访问互联网的设备的前提条件: 必须预先安装 Docker(Engine + Compose 插件)和基础软件包。Appliance 镜像的是 IronFlock 自身的二进制文件,而不是发行版软件包——只有在缺少 Docker 时,ironflock-init 才会尝试访问 get.docker.com。

安装程序存储会与代理程序镜像一起刷新——同样的 6 小时周期,同样的 立即同步 按钮。

Last updated on