0
votes

I am currently following this blog to create IOT edge runtime container. IOT edge runtime

It shows that is support Ubuntu and one can create a container having IOT edge runtime using ubuntu image. But it also shows that we have to install moby-engine in it to make it working. What I know about moby-engine is that it is similar to docker. So why do we need to install moby-engine.

Question is can we create edge runtime container without using moby-engine..?

Plus edge runtime consists of two parts: 1. Azure IoT Edge Hub 2. Azure IoT Edge Agent Microsoft has given two separate containers for above two modules. For reference: https://hub.docker.com/_/microsoft-azureiotedge-hub?tab=description

https://hub.docker.com/_/microsoft-azureiotedge-agent?tab=description

But what I want is a single container having edge runtime installed and running both these services.

Any help , in how to run a edge runtime container, would be appreciated.

1
Just checking back!, could you please review the below answer and please let us know if you need further help.SatishBoddu-MSFT

1 Answers

1
votes

As per Microsoft docs here, Azure IoTEdge supports both Moby as well as Docker, however, Microsoft suggests choosing Moby for production deployment with support from Microsoft.

To answer your other question on combining both Azure IoT Edge system Modules i.e Azure IoTEdge Hub and IoTEdge Runtime, first review the roles and responsibilities of these individual modules here.

In short, IoTEdge Hub acts as a local proxy for Azure IoTHub, in addition to this, it provides a small MQTT broker to manage the inter-module communications, handle security, optimize the connections and most importantly offline storage of messages in case IoTEdge lost its internet connectivity or facing intermittent internet.

Similarly, IoTEdge Agent mainly handles module orchestration such as pulling modules based on the deployment manifest and making sure they run successfully as part of custom modules, report errors etc.

I'm not sure whats the requirement behind combining these two as they are meant to run as different modules, to learn more about these system modules, refer the codebase here to get a better understanding.