首頁 > 物聯網 > 正文

工業物聯網的容器化方法

2020-05-18 13:45:01  來源:企業網D1Net

摘要:容器化方法為跨物理計算資源的系統的運行和維護帶來了優勢。在IT世界中,企業可以利用容器技術將計算工作負載與運行它們的計算基礎分離。
關鍵詞: 工業 物聯網
  容器化方法為跨物理計算資源的系統的運行和維護帶來了優勢。在IT世界中,企業可以利用容器技術將計算工作負載與運行它們的計算基礎分離。例如,這允許將計算硬件視為實用程序,從而允許在跨機架上部署多個工作負載,并根據需要擴展硬件資源(例如核心處理器、內存和存儲設施)。
 
  跨硬件資源采用多個軟件負載可以更有效地利用硬件投資,并提高應對硬件故障的穩定性。通過允許可以更新集中式容器配置,然后將其推送到執行環境的方案,從而使軟件工作負載本身的維護和演化更加容易。應用于傳統企業IT的容器化技術已成為現代云計算技術的關鍵推動力。
 
  虛擬機
 
  在通常情況下,可以將容器視為輕量級虛擬機。完整的虛擬機能夠完全仿真主機上的目標硬件層,其中包括CPU指令集、外圍設備集等。虛擬機具有很高的可移植性,但由于在主機內模擬目標計算機的各個方面而導致大量開銷。與要模擬的目標計算機相比,這實際上要求對主機進行過度指定。在許多情況下,這種仿真水平是不必要的。
 
  基于虛擬機監控程序的虛擬化所需的主機資源少于完整的虛擬機。虛擬機管理程序為每個執行環境提供了基礎硬件的私有視圖,但是大多數情況下它都綁定到基礎主機架構,因此通過將硬件架構限制為主機架構,它確實獲得了一些額外的效率。在工業物聯網(IIoT)應用程序中,通常不需要由完整虛擬機或虛擬機管理程序提供的抽象和隔離級別。
 
  容器并不是完整的虛擬機,而是在主機的約束和架構下運行。這樣,容器能夠與主機的CPU架構和低級操作系統(內核)接口,從而直接共享主機的硬件和內核資源。
 
  容器取決于主機的底層操作系統,但是可以封裝并提供高層操作系統(用戶空間)的一部分。這允許在容器內的應用程序被構建并針對一組固定的版本化操作系統資源進行固定運行。
 
  分區
 
  大多數系統管理員或UNIX應用程序開發人員可能熟悉“依賴地獄”的概念,這使所有系統資源可用以使應用程序運行。在配置為在同一服務器上運行的所有應用程序之間維護多個應用程序依賴關系,這通常是一項棘手且乏味的工作。容器允許每個應用程序將一組受控的依賴項與應用程序捆綁在一起,以便這些應用程序可以獨立地具有穩定的執行環境,并與同一服務器上的其他容器化應用程序進行分區和隔離。為了方便起見,甚至應用程序更新也經常打包和部署為容器更新。因此,容器在目標機器上的應用程序組件之間提供了強大的分區。
 
  增強安全性
 
  由于容器是在容器引擎的場景中執行的,因此它可以通過約束容器引擎本身來增強對應用程序的安全性策略和約束。例如,在Linux托管環境中,使用“cgroups”,進程空間隔離、文件系統控件、內核級強制訪問控件之類的機制,可以強制限制容器引擎在這些控件下運行,例如限制內存、CPU使用率、對文件系統特定部分的訪問、對網絡資源的訪問,或僅允許某些事先批準的內核操作子集。
 
  通過容器引擎的機制施加這些約束,即使封閉的應用程序不知道或不合作參與這些控制,也施加了這樣的安全控制。這與現代IT安全最佳實踐一致。
 
  容器與應用程序類似,可以對其進行簽名和身份驗證,以便將內容分發到計算節點,并且可以在容器引擎的強加密下進行身份驗證。
 
  編排系統
 
  現代的容器化系統還包括編排系統或與編排系統互操作。編排系統提供了將容器分派到主機,并確定要將哪些容器分派到哪些主機的方法。此外,大多數編排系統允許應用配置以參數化容器,并支持管理指標/儀表板以監視系統。當需要大規模協調容器的部署、供應和操作時,編排系統必須具備這些功能。
 
  容器化方法和收益
 
  在構造和維護容器方面,某些系統比其他系統具有更多的功能和特性。容器總是可以通過人工建造的,但是開放源代碼生態系統中經常有工具和材料可以幫助實現這一目標?,F代系統通常將允許容器從參考容器的組成/庫中派生。這些庫可促進重用,利用生態系統,并允許快速開發和部署容器。
 
  概括而言,容器化方案消除了以受控方式配置應用程序及其執行環境以有效利用基礎硬件計算資源的挑戰。容器帶來了分區、安全性和編排的好處。該方法比完整的虛擬機便宜,并且仍然導致操作系統/用戶空間組件的重復。
 
  利用工業物聯網(IIoT)的容器化方法
 
  盡管容器化技術主要是為傳統企業IT開發的,但是為工業物聯網(IIoT)采用類似方案具有明顯的相似之處和優勢。
 
  要考慮的一件事是要在其中部署容器的工業物聯網(IIoT)主機的類型,這通常需要考慮用例、未來驗證和投資回報率(ROI)。在某些情況下,這可能是一個高價值的安裝,保證邊緣節點的高性能計算資源,類似于部署在企業數據中心的服務器。在其他情況下,需求可以證明在該邊緣節點分配的成本較低且能力較低的機器是合理的。在功能齊全的工業物聯網(IIoT)的部署中,可能會有不同層次的資產與不同類別的邊緣硬件相關聯。如何在相關規模上經濟地啟用每一類資產,可以很快成為選擇邊緣節點硬件和體系結構的重要驅動因素。
 
  要考慮的另一件事是如何利用容器的分區屬性,即沙箱。是否在邊緣部署了一個包含所有應用程序功能的整體容器?還是希望通過將應用程序組件隔離到單獨的空間/單獨的容器中來獲得更好、更可靠的姿態?
 
  例如,通過在不同容器之間劃分邊緣功能,可以為一個容器授予更多特權??梢允谟杵涔ぷ魇嵌ㄆ谧x取、評估和報告警報的應用程序組件以只讀特權,以便與邊緣資產進行交互。打算在邊緣資產上執行軟件升級的應用程序將需要更多特權,但是可以應用不同的基于角色的安全性來與該應用程序進行交互。
 
  該架構可以映射為分層的安全性方法,在該方法中,可以將強大的權限強制執行和角色映射正交約束在同一邊緣節點上托管的單獨應用程序周圍。此外,能夠分離應用程序組件可以導致更健壯的實現,其中一個應用程序的行為(或錯誤行為)不會直接影響另一個應用程序。這種方法還允許輕松地向邊緣設備添加增量增強功能。
 
  應用程序組件之間的交互是另外一個考慮因素。由于應用程序是分離的,因此將需要實現進程間通信(IPC)方案/遠程過程調用(RPC)方案,以使單獨的應用程序在邊緣節點內進行交互。此類進程間通信(IPC)方案/遠程過程調用(RPC)方案也應進行身份驗證和控制,以僅允許批準的交互。需要注意,典型的容器化方案并未提供這些機制。
 
  容器化方案的安全功能與現代操作系統設計和現代安全最佳實踐一致。通過設計操作系統級別的控制和策略,可以更好地限制安全漏洞對系統的潛在影響。驗證和認證在邊緣運行的應用程序組件的機制也與現代安全態勢所要求的方法一致。
 
  編排方案在工業物聯網(IIoT)中具有明確的價值。絕對有必要利用一種用于以受控和集中方式管理工業物聯網(IIoT)邊緣節點群的方案來管理、版本化、維護,并將容器化的應用程序組件推送到邊緣。
 
  與傳統的IT環境不同,這里的挑戰是將針對特定邊緣設備的容器進行分組和協調。容器工作負載必須映射到邊緣設備的具體物理部署,因為這些設備直接綁定到現場資產。編排系統無法選擇任何硬件來運行容器,但是需要足夠靈活以輕松地針對特定邊緣節點。
 
  編排方案可能也不足以完全管理工業物聯網(IIoT)系統,因為需要管理或提供主機系統的其他注意事項(網絡接口、VPN、安全憑證、蜂窩調制解調器等)。這些資源通常由主機操作系統直接管理,并且僅可供容器使用工業物聯網(IIoT)平臺的傳統方法在設備管理下封裝了這一功能,設備中托管的容器/應用程序的管理可能是統一設備管理的子集。
 
  還需要考慮選擇開放源代碼或封閉源容器引擎,因為維護它可能依賴于第三方。對第三方技術的持續支持、在容器中自定義應用程序、不斷發展的功能,以及與不同的協議棧和云計算集成是其他需要考慮的因素。

第三十屆CIO班招生
法國布雷斯特商學院碩士班招生
北達軟EXIN網絡空間與IT安全基礎認證培訓
北達軟EXIN DevOps Professional認證培訓
責編:zhangwenwen
好运南京麻将安卓版 北京pk拾手机软件下载 宁夏十一选五彩票平台 黑龙江快乐十分投注金额 黑金快乐8登录网站 彩发发时时彩软件 幸运赛车选号技巧心得 广西快三长龙技巧 湖北十一选五前三直遗漏 山西快乐十分任三口诀 幸运赛车官方网