【问题标题】:One of the IoT Edge Module is in Backoff state Raspberry Pi 4 with Raspbian OSIoT Edge 模块之一处于退避状态 Raspberry Pi 4 with Raspbian OS
【发布时间】:2020-08-04 14:35:43
【问题描述】:

当我的 Edge 设备在 Raspberry Pi 4 中运行时,我已经开发了一个模块并为 arm64v8 架构构建了映像。我在 config 文件夹中正确获取了文件 deployment.arm64v8.json。但是,当我在 Visual Studio Code 中右键单击设备并选择为单个设备创建部署时,模块正在添加,但其中一个模块显示退避状态。这可能是什么问题,并且严格遵循this doc

我也试过重启服务。

设备信息

主机操作系统:Raspberry OS 架构:Arm64v8 容器操作系统:Linux 容器

运行时版本

iotedge:iotedge 1.0.9.4 Docker/Moby [运行 docker 版本]:

更新:

我正在尝试在我的 64 位 Windows 开发机器中构建 arm32 映像,我想这就是我遇到此问题的原因。现在我有 3 个选项。

  1. 从这里安装 64 位版本的 Raspberry OS
  2. 设置 32 位虚拟机并将其用作开发机和 构建 32 位图像
  3. 我已经运行了 WSL,可能正在运行 Visual Studio 代码 那里有解决方案?

你能告诉我什么是更好的方法吗?

【问题讨论】:

    标签: azure docker iot azure-iot-hub azure-iot-edge


    【解决方案1】:

    有几个问题我做错了。首先,我试图在我的 64 位 Windows 开发机器中构建 arm64 映像,然后将映像部署到 arm32 Raspbian OS,这将永远无法工作。您可以通过运行以下命令查看版本和其他详细信息。

    如果它显示aarch64,那么它是 64 位的。如果它显示armv7l,那么它是 32 位的。就我而言,它是arm71。所以现在我必须在我的64 bit Windows Host machine 上构建一个arm32 容器映像并在我的Raspberry Pi 4 上使用它。按照this doc的说法,绝对有可能。

    您可以在 x64 机器上构建 ARM32 和 ARM64 映像,但您不会 能够运行它们

    运行不是我的问题,因为我只需要构建映像,我将在我的 Raspberry Pi 中使用它。为了让它工作,我不得不改变我的Dockerfile.arm32v7,特别是我们拉基础图像的第一行。

    FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build-env
    WORKDIR /app
    
    COPY *.csproj ./
    RUN dotnet restore
    
    COPY . ./
    RUN dotnet publish -c Release -o out
    
    FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim-arm32v7
    WORKDIR /app
    COPY --from=build-env /app/out ./
    
    RUN useradd -ms /bin/bash moduleuser
    USER moduleuser
    
    ENTRYPOINT ["dotnet", "SendTelemetry.dll"]
    

    “build-env”镜像应该是与宿主操作系统相同的架构,最终镜像应该是目标操作系统架构。对 docker 文件进行更改后,我更改了模块文件夹中 module.json 文件中的版本,这样当我在右侧使用选项 Build and Push IoT Edge Solution 时,带有新标签的新图像将添加到容器注册表中-单击deployment.template.json,然后我在Visual Studio Code 中右键单击设备名称后使用Create Deployment for Single Device 选项。然后当我监控设备时(开始监控内置事件端点选项),我得到了这个输出。

    微软的支持在这个问题上真的很棒。他们真的帮我解决了我发布的这个GitHub issue

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多