当前位置: 首页 > 科技观察

为什么Linux容器对物联网很重要

时间:2023-03-13 17:45:19 科技观察

Linux容器标志着第一个适用于嵌入式世界的实用虚拟化技术的到来。在RaspberryPi上运行Docker可为您提供在云中运行Docker的大部分好处,同时启用对任何IoT项目的成功至关重要的附加功能:隔离的应用程序故障、高效更新以及灵活但熟悉的工作流程。为什么Linux容器用于物联网?孤立的应用程序故障停机在远程连接Internet设备的世界中代价尤其高昂。与云实例不同,如果一台设备出现故障,您不能简单地启动另一台设备来替换它。该设备可以是无人机、汽车、某人家中的智能锁或油田中的传感器站。IoT设备通常在物理上无法访问,因此手动重启并不容易。如果出现问题,可以恢复容器。这是如何运作的?它从本质上将设备的核心操作与应用层分开,确保应用程序故障不会影响设备在网络上的通信能力。这个主机操作系统管理两个容器:一个运行主管,一个确保设备启动并可以连接到resin.io的代理,另一个运行用户应用程序并带有自己的基础操作系统。在嵌入式开发中,主机操作系统与硬件看门狗接口,以确保在底层软件出现任何问题时重新启动。最后,这使得任何高于该级别的问题都成为可以远程解决的应用程序问题。高效更新容器提供的另一个优势是能够更好地管理更新,包括减少停机频率和减少磁盘空间使用。作为一个例子,让我们看看resinOS是如何处理更新的。使用回退选项应用更新的传统方法是A/B分区策略。这会将驱动器分成两半,其中一半未使用。可以下载更新并将其安装在空分区中,而无需删除活动的操作系统,也不会断开与网络的连接。如果在切换到较新的操作系统时出现任何问题,可以使用最新的工作版本重新启动设备,从而大大减少丢失到网络的机会。使用resinOS,运行用户应用程序所需的大部分内容都打包在Docker容器中,并且可以在不停机的情况下进行更新。这降低了主机操作系统所需的更新频率。当确实需要进行主机操作系统更新时,仍会使用A/B分区策略,但主机操作系统的最小占用空间允许更小的更新分区。灵活且熟悉的工作流容器在弥合云和嵌入式工作流之间的差距方面发挥着重要作用。Linux是一种广泛使用且高度可定制的操作系统,Linux容器提供了一组标准的核心功能,同时仍然让嵌入式开发人员可以自由选择他们已经熟悉的工具、库和配置。云开发人员期望这种灵活性,并将其扩展到嵌入式设备使更多的开发人员能够构建和支持IoT项目。通过调整云和边缘设备之间的底层技术,容器减少了支持混合工作流的开发人员和组织的摩擦。