深入了解Azure IoT Edge核心组件与功能
1. 容器化技术在IoT Edge中的应用
近年来,容器化技术席卷了软件领域。尽管支持容器模型的基本概念(虚拟化和隔离)自2000年代初就已存在,但在过去五年里,容器技术成为了主流。如今在架构解决方案时,企业往往需要为不使用容器提供理由,而非为使用容器进行辩护。
容器技术最初只是虚拟化的一个简单演进步骤,如今已成为保证一致执行运行时的事实标准。它不断扩展到更多不同的解决方案领域,展现出了其灵活性和优势。其中一个显著优势是,它能够虚拟化小型运行时执行环境,并且比整个虚拟机更易于分发。虚拟机镜像通常有30GB甚至更大,而容器通常可以小于100MB。因此,容器成为IoT Edge运行时环境的核心也就不足为奇了。
在采用基于容器的方法时,需要了解几个架构组件:
- 容器运行时 :需要一个运行时来实际与目标机器上的容器进行交互和管理。例如Docker运行时,它类似于虚拟机管理软件(如Hyper - V),负责管理其所管理的各个容器的资源,包括启动、停止和重启容器等操作。IoT Edge设备的容器运行时是基于Moby的自定义运行时,Moby是Docker构建的底层容器技术。只要主机设备能够支持容器的空间和CPU要求,任何与Docker兼容的镜像都可以在IoT Edge解决方案中使用。这也意味着组织现有的基于Docker的开发工具链也可以与IoT Edge工具一起使用。
- 实际的容器 :在IoT Edge领域,容器封装了各种解耦的功能段(称为模块),并通过消息总线(托管在名为“edgeHub”的容器中)进行通信。由于每个容器都是解耦的,并且对边缘