1.摘要
汽車高性能計(jì)算(HPC)的一大優(yōu)勢是能夠?qū)⒏鞣N功能整合到單個(gè)ECU上,并利用其產(chǎn)生的協(xié)同效應(yīng),同時(shí)仍能保證各功能的獨(dú)立性。一種顯而易見的解決方案是利用企業(yè)和云計(jì)算中已成熟的一組特性,即所稱的“容器”。為實(shí)現(xiàn)最大回報(bào),最重要的是遵守在所有重大實(shí)現(xiàn)項(xiàng)目中廣泛落實(shí)的開放容器計(jì)劃(OCI)行業(yè)標(biāo)準(zhǔn)。對許多應(yīng)用程序而言,最常用的實(shí)現(xiàn)方案之一是以Linux為基礎(chǔ)的。
2.引言
基于Linux的容器是一種概念,軟件集成商利用這種容器將運(yùn)行時(shí)環(huán)境與主機(jī)操作系統(tǒng)隔離。它經(jīng)常被用于在封閉環(huán)境內(nèi)運(yùn)行軟件。在汽車行業(yè)中,由不同公司提供最終產(chǎn)品的某一組成部分,這種概念有助于集成第三方軟件,而不會(huì)對系統(tǒng)中的其他組件造成沖擊或者負(fù)面影響。軟件制造商在各自的獨(dú)立開發(fā)環(huán)境中實(shí)現(xiàn)并測試應(yīng)用程序,把其當(dāng)作一個(gè)容器來對待,并且在將這一容器移交給系統(tǒng)集成商時(shí),不必?fù)?dān)心存在不一致的問題或不必要的副作用。能夠大規(guī)模采用這一做法的基礎(chǔ)是,存在一套由開放容器計(jì)劃(OCI)所定義的行業(yè)標(biāo)準(zhǔn),具體參見https://opencontainers.org。
3.問題描述
在汽車行業(yè)中,操作系統(tǒng)的賣點(diǎn)通常與“如何直接、低成本地集成第三方應(yīng)用程序”這一問題的答案緊密相關(guān)。如前所述,容器是一種解決方案,但隨之而來的問題是如何讓第三方供應(yīng)商接受這一概念。除了技術(shù)解決方案,還有一個(gè)重點(diǎn)在于工具和/或咨詢服務(wù),利用基于Ubuntu的EB corbos Linux操作系統(tǒng),可以協(xié)助客戶或合作伙伴解決以上挑戰(zhàn)。
4.高級(jí)別解決方案
Elektrobit提供的容器系統(tǒng)由以下組件和服務(wù)組成:
OCI容器構(gòu)建系統(tǒng)是開放構(gòu)建服務(wù)和KIWI工具的組成部分。Elektrobit致力于構(gòu)建并維護(hù)OCI容器,將其作為內(nèi)部開放構(gòu)建服務(wù)實(shí)例(OBS)的一部分。該服務(wù)包括根據(jù)人類可讀的基于KIWI的容器鏡像描述創(chuàng)建符合OCI標(biāo)準(zhǔn)的容器,以及自動(dòng)進(jìn)行容器封裝。自行使用OBS的客戶可通過此解決方案獲得支持。使用不同工具創(chuàng)建容器的客戶可以保留自已原有的流程,只要保證生成的容器符合OCI標(biāo)準(zhǔn)即可。
名為oci-pilot的OCI工具項(xiàng)目提供了啟動(dòng)應(yīng)用程序和封裝軟件組件所需的工具。要管理目標(biāo)系統(tǒng)上的容器,需要使用本地podman注冊表。oci-pilot項(xiàng)目所提供的工具包括一個(gè)可以將符合OCI標(biāo)準(zhǔn)的容器導(dǎo)入到本地鏡像庫的注冊工具,以及一個(gè)可以使容器化應(yīng)用程序如同本地應(yīng)用程序一樣運(yùn)行的啟動(dòng)器。
注釋
在使用OBS的容器構(gòu)建支持時(shí),這些注冊和啟動(dòng)工具會(huì)自動(dòng)集成到容器封裝過程。也就是說,由Elektrobit創(chuàng)建的容器包會(huì)在安裝過程中執(zhí)行所有容器化應(yīng)用程序注冊步驟。而選擇不創(chuàng)建容器包的客戶可以通過oci-pilot項(xiàng)目提供的工具包來獲得支持。
符合OCI標(biāo)準(zhǔn)的容器主機(jī)提供了基于podman的強(qiáng)大容器鏡像庫布局,它與Docker的組合是最廣泛使用的容器主機(jī)工具。Docker需要有一個(gè)后臺(tái)守護(hù)程序,而podman則作為一個(gè)獨(dú)立的應(yīng)用程序運(yùn)行。因此,podman通常比Docker更受青睞,在嵌入式用例中更是如此。
基于Ubuntu的EB corbos Linux旨在提供一個(gè)分離容器鏡像庫。注冊的容器鏡像被存儲(chǔ)在一個(gè)額外的可選加密的只讀分區(qū)中,該分區(qū)通過基于A/B分區(qū)的更新概念支持OTA更新。創(chuàng)建的容器實(shí)例在運(yùn)行時(shí)支持基于overlayfs的寫時(shí)復(fù)制。所有寫入操作都集中在額外分區(qū)。如果數(shù)據(jù)損壞,寫入分區(qū)會(huì)自動(dòng)重置。由于采用分離鏡像庫,容器鏡像及其實(shí)例之間存在基于分區(qū)的解耦,這使得容器引擎可以在任何時(shí)間進(jìn)行穩(wěn)健的重置。

圖1:鏡像庫布局
5.解決方案細(xì)節(jié)
對于上述解決方案,有不同成熟度的實(shí)現(xiàn)方案可供選用:
采用基于Ubuntu的EB corbos Linux發(fā)行版提供的容器庫,里面包含了用于Elektrobit的工具和服務(wù)的OCI容器。
采用托管在GitHub平臺(tái)(https://github.com/Elektrobit/oci-pilot)上的oci-pilot開源項(xiàng)目。工具包可以作為基于Ubuntu的EB corbos Linux發(fā)行版的一部分,在Artifactory上加以使用。
采用當(dāng)前設(shè)計(jì)的容器主機(jī)操作系統(tǒng)鏡像實(shí)現(xiàn)方案,其中包括容器鏡像庫和運(yùn)行時(shí)系統(tǒng)。x86鏡像適合在QEMU中運(yùn)行。AArch64鏡像針對的是NXP和Raspberry Pi4板卡產(chǎn)品。
6.客戶價(jià)值
面向未來的OCI標(biāo)準(zhǔn)是被所有一級(jí)云服務(wù)供應(yīng)商(如亞馬遜網(wǎng)絡(luò)服務(wù)、谷歌計(jì)算引擎或 Microsoft Azure)所采用的行業(yè)標(biāo)準(zhǔn)。從開發(fā)到測試的所有工作流程都依賴于標(biāo)準(zhǔn)的通用工具和技術(shù)。基于Ubuntu的EB corbos Linux完全兼容這一成熟的技術(shù)。該技術(shù)的應(yīng)用范圍得以高度擴(kuò)展,因?yàn)榭蛻艨梢灾苯邮褂萌萜?,而無需作任何調(diào)整。所提出的容器封裝概念還提供了一個(gè)可能會(huì)令客戶感興趣的解決方案,以幫助他們干凈地構(gòu)建和維護(hù)容器。
7.概要
使用現(xiàn)有的標(biāo)準(zhǔn)開源工具(podman、KIWI、OBS),提供一個(gè)符合OCI標(biāo)準(zhǔn)的容器引擎概念,以此作為基于Ubuntu的EB corbos Linux發(fā)行版的一部分,通過社區(qū)維護(hù),會(huì)降低發(fā)生技術(shù)不符合行業(yè)標(biāo)準(zhǔn)的風(fēng)險(xiǎn)。該實(shí)現(xiàn)方案屬于基于Ubuntu的EB corbos Linux的一個(gè)附加解決方案,并不是實(shí)現(xiàn)操作系統(tǒng)的先決條件。
該解決方案和Elektrobit的許多其他產(chǎn)品一樣,一直在持續(xù)增強(qiáng)和更新。
作者
Marcus Sch?fer
Elektrobit汽車操作系統(tǒng)軟件工程師
Marcus Sch?fer對開源軟件充滿熱忱,因?yàn)樗麍?jiān)信每個(gè)人都有機(jī)會(huì)學(xué)習(xí)自由和開源軟件模型,并運(yùn)用自己的經(jīng)驗(yàn)和知識(shí)進(jìn)行創(chuàng)新。他在軟件開發(fā)中重點(diǎn)關(guān)注服務(wù)器、云和虛擬化這三個(gè)層面。
實(shí)現(xiàn)針對汽車設(shè)備的嵌入式Linux系統(tǒng)發(fā)行版是他當(dāng)前參與的項(xiàng)目之一。
審核編輯:湯梓紅
-
嵌入式
+關(guān)注
關(guān)注
5186文章
20146瀏覽量
328828 -
Linux
+關(guān)注
關(guān)注
88文章
11628瀏覽量
217973 -
容器
+關(guān)注
關(guān)注
0文章
521瀏覽量
22812 -
Ubuntu
+關(guān)注
關(guān)注
5文章
603瀏覽量
32883 -
HPC
+關(guān)注
關(guān)注
0文章
342瀏覽量
24825
原文標(biāo)題:汽車操作系統(tǒng)技術(shù) | 利用基于Ubuntu的EB corbos Linux構(gòu)筑隱形容器壁壘
文章出處:【微信號(hào):Elektrobit官方,微信公眾號(hào):Elektrobit】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Elektrobit與SUSE合作在中國提供車規(guī)級(jí)Linux產(chǎn)品
請問你可以在ubuntu中使用EB嗎?
Ubuntu+Linux教程
ubuntu和linux的區(qū)別
如何讓Ubuntu Linux更快的技巧
Ubuntu系統(tǒng)Linux學(xué)習(xí)環(huán)境的配置方法
Linux Ubuntu教程之Linux Ubuntu14.04如何進(jìn)行開發(fā)環(huán)境的搭建
Ubuntu上可以體驗(yàn)LXD容器
Linux的Ubuntu操作系統(tǒng)的安裝教程

利用基于Ubuntu的EB corbos Linux構(gòu)筑隱形容器壁壘
評論