OPC Publisher 模块没有在我的 Ubuntu VM 上作为边缘模块启动
OPC Publisher module does not start on my Ubuntu VM as an edge module
OPC Publisher 市场图像作为独立容器成功运行(尽管存在服务器连接问题)。但是我无法将其部署为边缘模块,尤其是在更改容器创建选项之后。
背景:在我的主机笔记本电脑中,我无法启动模块,所以我创建了一个 Ubuntu 虚拟机。当我尝试使用默认容器创建选项在 VM 中部署边缘模块时,该模块确实在 iotedge 模块列表中显示为“运行”。我想设置“--op”选项来设置发布率,所以我使用门户“设置模块”选项卡在创建选项中更改了它。由于没有更新按钮,我使用创建按钮来“重新创建”模块。此后模块没有出现。
在那之后,OPC 发布者模块没有出现在边缘 VM 上。我正在关注 Microsoft tutorial.
命令如下:
sudo docker run -v /iiotedge:/appdata mcr.microsoft.com/iotedge/opc-publisher:latest --aa --pf=/appdata/publishednodes.json --c="HostName=<iot hub name>.azure-devices.net;DeviceId=iothubowner;SharedAccessKey=<hub primary key>" --dc="HostName=<edge device id/name>.azure-devices.net;DeviceId=<edge device id/name>;SharedAccessKey=<edge primary key>" --op=10000
容器创建选项:
{
"Hostname": "opcpublisher",
"Cmd": [
"--pf=/appdata/publishednodes.json",
"--aa",
"--op=10000"
],
"HostConfig": {
"Binds": [
"/iiotedge:/appdata"
]
}
}
我没有明确指定连接字符串,因为文档 from Microsoft 确保运行时会自动传递它们。
相关的 iotedge journalctl 日志在这里。
Oct 06 19:36:05 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:05Z [INFO] - Pulling image mcr.microsoft.com/iotedge/opc-publisher:latest...
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [INFO] - Successfully pulled image mcr.microsoft.com/iotedge/opc-publisher:latest
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [INFO] - Creating module OPCPublisher...
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [INFO] - Starting new listener for module OPCPublisher
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [ERR!] - Internal server error: Could not create module OPCPublisher
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: caused by: Could not get module OPCPublisher
iotedge 本身的日志用处不大。无论如何找到下面。
~$ iotedge logs OPCPublisher
A module runtime error occurred
我也试过 docker 容器修剪只是为了确定,但没有帮助。
同样奇怪的是,在 Azure 门户中,当我尝试从故障排除页面重新启动模块时,它会抛出错误“在当前环境中找不到模块”
有人可以帮我解决这个问题吗?如果需要,我很乐意分享更多详细信息。
我在 Azure 门户中提出了支持查询。在发送支持包并尝试各种建议(例如删除 DNS 配置、将绑定路径更改为非 sudo 位置等)后,团队将注意力集中在边缘版本不匹配上。
重新阅读文档后,我卸载了较早的 iotedge 软件包并安装了 aziot-edge 代替,问题解决了!
团队在此处提出了 public 跟踪的 github 问题:
https://github.com/Azure/Industrial-IoT/issues/1425
@asergaz也指出了正确的方向,但没注意,因为来的有点晚
OPC Publisher 市场图像作为独立容器成功运行(尽管存在服务器连接问题)。但是我无法将其部署为边缘模块,尤其是在更改容器创建选项之后。
背景:在我的主机笔记本电脑中,我无法启动模块,所以我创建了一个 Ubuntu 虚拟机。当我尝试使用默认容器创建选项在 VM 中部署边缘模块时,该模块确实在 iotedge 模块列表中显示为“运行”。我想设置“--op”选项来设置发布率,所以我使用门户“设置模块”选项卡在创建选项中更改了它。由于没有更新按钮,我使用创建按钮来“重新创建”模块。此后模块没有出现。
在那之后,OPC 发布者模块没有出现在边缘 VM 上。我正在关注 Microsoft tutorial.
命令如下:
sudo docker run -v /iiotedge:/appdata mcr.microsoft.com/iotedge/opc-publisher:latest --aa --pf=/appdata/publishednodes.json --c="HostName=<iot hub name>.azure-devices.net;DeviceId=iothubowner;SharedAccessKey=<hub primary key>" --dc="HostName=<edge device id/name>.azure-devices.net;DeviceId=<edge device id/name>;SharedAccessKey=<edge primary key>" --op=10000
容器创建选项:
{
"Hostname": "opcpublisher",
"Cmd": [
"--pf=/appdata/publishednodes.json",
"--aa",
"--op=10000"
],
"HostConfig": {
"Binds": [
"/iiotedge:/appdata"
]
}
}
我没有明确指定连接字符串,因为文档 from Microsoft 确保运行时会自动传递它们。
相关的 iotedge journalctl 日志在这里。
Oct 06 19:36:05 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:05Z [INFO] - Pulling image mcr.microsoft.com/iotedge/opc-publisher:latest...
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [INFO] - Successfully pulled image mcr.microsoft.com/iotedge/opc-publisher:latest
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [INFO] - Creating module OPCPublisher...
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [INFO] - Starting new listener for module OPCPublisher
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: 2021-10-06T14:06:08Z [ERR!] - Internal server error: Could not create module OPCPublisher
Oct 06 19:36:08 shreesha-VirtualBox iotedged[9622]: caused by: Could not get module OPCPublisher
iotedge 本身的日志用处不大。无论如何找到下面。
~$ iotedge logs OPCPublisher
A module runtime error occurred
我也试过 docker 容器修剪只是为了确定,但没有帮助。
同样奇怪的是,在 Azure 门户中,当我尝试从故障排除页面重新启动模块时,它会抛出错误“在当前环境中找不到模块”
有人可以帮我解决这个问题吗?如果需要,我很乐意分享更多详细信息。
我在 Azure 门户中提出了支持查询。在发送支持包并尝试各种建议(例如删除 DNS 配置、将绑定路径更改为非 sudo 位置等)后,团队将注意力集中在边缘版本不匹配上。
重新阅读文档后,我卸载了较早的 iotedge 软件包并安装了 aziot-edge 代替,问题解决了!
团队在此处提出了 public 跟踪的 github 问题:
https://github.com/Azure/Industrial-IoT/issues/1425
@asergaz也指出了正确的方向,但没注意,因为来的有点晚