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