1.摘要
汽車高性能計算(HPC)的一大優勢是能夠將各種功能整合到單個ECU上,并利用其產生的協同效應,同時仍能保證各功能的獨立性。一種顯而易見的解決方案是利用企業和云計算中已成熟的一組特性,即所稱的“容器”。為實現最大回報,最重要的是遵守在所有重大實現項目中廣泛落實的開放容器計劃(OCI)行業標準。對許多應用程序而言,最常用的實現方案之一是以Linux為基礎的。
2.引言
基于Linux的容器是一種概念,軟件集成商利用這種容器將運行時環境與主機操作系統隔離。它經常被用于在封閉環境內運行軟件。在汽車行業中,由不同公司提供最終產品的某一組成部分,這種概念有助于集成第三方軟件,而不會對系統中的其他組件造成沖擊或者負面影響。軟件制造商在各自的獨立開發環境中實現并測試應用程序,把其當作一個容器來對待,并且在將這一容器移交給系統集成商時,不必擔心存在不一致的問題或不必要的副作用。能夠大規模采用這一做法的基礎是,存在一套由開放容器計劃(OCI)所定義的行業標準,具體參見https://opencontainers.org。
3.問題描述
在汽車行業中,操作系統的賣點通常與“如何直接、低成本地集成第三方應用程序”這一問題的答案緊密相關。如前所述,容器是一種解決方案,但隨之而來的問題是如何讓第三方供應商接受這一概念。除了技術解決方案,還有一個重點在于工具和/或咨詢服務,利用基于Ubuntu的EB corbos Linux操作系統,可以協助客戶或合作伙伴解決以上挑戰。
4.高級別解決方案
Elektrobit提供的容器系統由以下組件和服務組成:
OCI容器構建系統是開放構建服務和KIWI工具的組成部分。Elektrobit致力于構建并維護OCI容器,將其作為內部開放構建服務實例(OBS)的一部分。該服務包括根據人類可讀的基于KIWI的容器鏡像描述創建符合OCI標準的容器,以及自動進行容器封裝。自行使用OBS的客戶可通過此解決方案獲得支持。使用不同工具創建容器的客戶可以保留自已原有的流程,只要保證生成的容器符合OCI標準即可。
名為oci-pilot的OCI工具項目提供了啟動應用程序和封裝軟件組件所需的工具。要管理目標系統上的容器,需要使用本地podman注冊表。oci-pilot項目所提供的工具包括一個可以將符合OCI標準的容器導入到本地鏡像庫的注冊工具,以及一個可以使容器化應用程序如同本地應用程序一樣運行的啟動器。
注釋
在使用OBS的容器構建支持時,這些注冊和啟動工具會自動集成到容器封裝過程。也就是說,由Elektrobit創建的容器包會在安裝過程中執行所有容器化應用程序注冊步驟。而選擇不創建容器包的客戶可以通過oci-pilot項目提供的工具包來獲得支持。
符合OCI標準的容器主機提供了基于podman的強大容器鏡像庫布局,它與Docker的組合是最廣泛使用的容器主機工具。Docker需要有一個后臺守護程序,而podman則作為一個獨立的應用程序運行。因此,podman通常比Docker更受青睞,在嵌入式用例中更是如此。
基于Ubuntu的EB corbos Linux旨在提供一個分離容器鏡像庫。注冊的容器鏡像被存儲在一個額外的可選加密的只讀分區中,該分區通過基于A/B分區的更新概念支持OTA更新。創建的容器實例在運行時支持基于overlayfs的寫時復制。所有寫入操作都集中在額外分區。如果數據損壞,寫入分區會自動重置。由于采用分離鏡像庫,容器鏡像及其實例之間存在基于分區的解耦,這使得容器引擎可以在任何時間進行穩健的重置。
圖1:鏡像庫布局
5.解決方案細節
對于上述解決方案,有不同成熟度的實現方案可供選用:
采用基于Ubuntu的EB corbos Linux發行版提供的容器庫,里面包含了用于Elektrobit的工具和服務的OCI容器。
采用托管在GitHub平臺(https://github.com/Elektrobit/oci-pilot)上的oci-pilot開源項目。工具包可以作為基于Ubuntu的EB corbos Linux發行版的一部分,在Artifactory上加以使用。
采用當前設計的容器主機操作系統鏡像實現方案,其中包括容器鏡像庫和運行時系統。x86鏡像適合在QEMU中運行。AArch64鏡像針對的是NXP和Raspberry Pi4板卡產品。
6.客戶價值
面向未來的OCI標準是被所有一級云服務供應商(如亞馬遜網絡服務、谷歌計算引擎或 Microsoft Azure)所采用的行業標準。從開發到測試的所有工作流程都依賴于標準的通用工具和技術。基于Ubuntu的EB corbos Linux完全兼容這一成熟的技術。該技術的應用范圍得以高度擴展,因為客戶可以直接使用容器,而無需作任何調整。所提出的容器封裝概念還提供了一個可能會令客戶感興趣的解決方案,以幫助他們干凈地構建和維護容器。
7.概要
使用現有的標準開源工具(podman、KIWI、OBS),提供一個符合OCI標準的容器引擎概念,以此作為基于Ubuntu的EB corbos Linux發行版的一部分,通過社區維護,會降低發生技術不符合行業標準的風險。該實現方案屬于基于Ubuntu的EB corbos Linux的一個附加解決方案,并不是實現操作系統的先決條件。
該解決方案和Elektrobit的許多其他產品一樣,一直在持續增強和更新。
作者
Marcus Sch?fer
Elektrobit汽車操作系統軟件工程師
Marcus Sch?fer對開源軟件充滿熱忱,因為他堅信每個人都有機會學習自由和開源軟件模型,并運用自己的經驗和知識進行創新。他在軟件開發中重點關注服務器、云和虛擬化這三個層面。
實現針對汽車設備的嵌入式Linux系統發行版是他當前參與的項目之一。
審核編輯:湯梓紅
-
嵌入式
+關注
關注
5085文章
19137瀏覽量
305675 -
Linux
+關注
關注
87文章
11312瀏覽量
209691 -
容器
+關注
關注
0文章
495瀏覽量
22069 -
Ubuntu
+關注
關注
5文章
563瀏覽量
29831 -
HPC
+關注
關注
0文章
316瀏覽量
23801
原文標題:汽車操作系統技術 | 利用基于Ubuntu的EB corbos Linux構筑隱形容器壁壘
文章出處:【微信號:Elektrobit官方,微信公眾號:Elektrobit】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論