當(dāng)前位置:首頁 > 嵌入式 > 嵌入式動(dòng)態(tài)
[導(dǎo)讀]隨著我們的客戶越來越多地使用容器來運(yùn)行其工作負(fù)載,設(shè)計(jì)Linux發(fā)行版以從頭開始運(yùn)行容器已經(jīng)變得很流行。 例如,Compact Alpine Research,Redhat的CoreOS和其他操作系統(tǒng)用于運(yùn)行容器。

隨著我們的客戶越來越多地使用容器來運(yùn)行其工作負(fù)載,設(shè)計(jì)Linux發(fā)行版以從頭開始運(yùn)行容器已經(jīng)變得很流行。 例如,Compact Alpine Research,Redhat的CoreOS和其他操作系統(tǒng)用于運(yùn)行容器。

日前著名云廠商亞馬遜宣布,發(fā)布自己的容器Linux發(fā)行版Bottlerocket。Bottlerocket立足于安全性,操作和規(guī)模管理,使用它能夠自動(dòng)管理數(shù)千個(gè)運(yùn)行容器的主機(jī)。

Bottlerocket,本質(zhì)上是一個(gè)新Linux發(fā)行版,用來跑容器。他內(nèi)置了安全性增強(qiáng)功能有助于簡化安全性合規(guī)性,并提供事務(wù)更新機(jī)制使使用容器編排器自動(dòng)化操作系統(tǒng)更新并降低運(yùn)營成本。

Bottlerocket目前已在GitHub創(chuàng)建開源組,并全開源。今天我們就一起來了解一下這個(gè)系統(tǒng)。

技術(shù)架構(gòu)

Bottlerocket的開發(fā)源于,Amazon AWS云中客戶如何使用Amazon Linux運(yùn)行容器以及從運(yùn)行服務(wù)(例如AWS Fargate)中學(xué)到的知識(shí)來設(shè)計(jì)和構(gòu)建的。在設(shè)計(jì)中,充分對(duì)Bottlerocket進(jìn)行了優(yōu)化,以提高安全性,性能并簡化維護(hù)流程。

最少組件、SELinux增強(qiáng)

Bottlerocket中只包含運(yùn)行容器所需的軟件,以減少安全攻擊面,從而提高了安全性。除了使用標(biāo)準(zhǔn)Linux內(nèi)核技術(shù)在容器化工作負(fù)載(例如控制組(cgroup),名稱空間和seccomp)之間實(shí)現(xiàn)隔離之外,還以強(qiáng)制模式使用安全性增強(qiáng)的Linux(SELinux)來增強(qiáng)容器與主機(jī)操作系統(tǒng)之間的隔離。

Device-mapper和eBPF

Bottlerocket使用Device-mapper的verity目標(biāo)(dm-verity),這是一種Linux內(nèi)核功能,可提供完整性檢查,以幫助防止攻擊者在操作系統(tǒng)上持續(xù)存在威脅,例如覆蓋核心系統(tǒng)軟件。

Bottlerocket Linux內(nèi)核中包括了eBPF,這減少了許多低級(jí)系統(tǒng)操作對(duì)內(nèi)核模塊的需求。

Rust開發(fā)

Bottlerocket的大部分內(nèi)容都是用Rust編寫的,Rust是一種現(xiàn)代編程語言,可幫助確保線程安全并防止與內(nèi)存相關(guān)的錯(cuò)誤,例如可能導(dǎo)致安全漏洞的緩沖區(qū)溢出。

隔離容器管理

Bottlerocket還通過阻止與生產(chǎn)服務(wù)器的管理連接來實(shí)施可進(jìn)一步提高安全性的操作模型。它適用于限制對(duì)單個(gè)主機(jī)的控制的大型分布式環(huán)境。

為了進(jìn)行調(diào)試,可以使用Bottlerocket的API運(yùn)行"管理容器"(通過用戶數(shù)據(jù)或AWS Systems Manager調(diào)用),然后使用SSH登錄以進(jìn)行高級(jí)調(diào)試和故障排除。admin容器是Amazon Linux 2容器映像,包含用于對(duì)Bottlerocket進(jìn)行故障排除和調(diào)試的實(shí)用程序,并以提升的特權(quán)運(yùn)行。它允許安裝和使用標(biāo)準(zhǔn)調(diào)試工具,例如traceroute,strace,tcpdump。登錄到單個(gè)Bottlerocket實(shí)例的行為旨在作為高級(jí)調(diào)試和故障排除的操作。

自動(dòng)更新

Bottlerocket通過使節(jié)點(diǎn)的管理和對(duì)集群中節(jié)點(diǎn)的自動(dòng)更新更加容易,從而大規(guī)模地提高了操作和可管理性。與旨在支持以各種格式打包的應(yīng)用程序的通用Linux發(fā)行版不同,Bottlerocket是專門為運(yùn)行容器而構(gòu)建的。對(duì)其他通用Linux發(fā)行版的更新是在逐個(gè)軟件包的基礎(chǔ)上應(yīng)用的,它們的軟件包之間的復(fù)雜依賴關(guān)系可能導(dǎo)致錯(cuò)誤,從而使流程難以實(shí)現(xiàn)自動(dòng)化。

操作靈活

Bottlerocke以原子方式應(yīng)用和回滾更新,這使得它們易于自動(dòng)化,從而減少了管理開銷并降低了運(yùn)營成本。

Bottlerocket與容器編排器集成在一起,可以對(duì)主機(jī)進(jìn)行自動(dòng)修補(bǔ),以提高運(yùn)營成本,可管理性和正常運(yùn)行時(shí)間。Bottlerocket支持與任何容器編排器集成,AWS提供的編譯版本可與Amazon EKS(具有一般可用性)和Amazon ECS(具有預(yù)覽功能)一起使用。

Bottlerocket入門

Bottlerocke支持不包括編排系統(tǒng)的,作為獨(dú)立的OS運(yùn)行進(jìn)行開發(fā)和測試用例,官方還是建議建議將其與容器編排系統(tǒng)結(jié)合使用,以充分利用其所有優(yōu)點(diǎn)。

最簡單入門方法在AWS云中,使用AWS提供的Bottlerocket AMI與Amazon EKS或Amazon ECS結(jié)合使用。

可以通過使用AWS CLI查詢SSM來找到這些AMI的ID,如下所示。

要查找Bottlerocket aws-k8s-1.17變體的最新AMI ID,請(qǐng)運(yùn)行:

aws ssm get-parameter --region us-west-2 \

--name "/aws/service/bottlerocket/aws-k8s-1.17/x86_64/latest/image_id" \

--query Parameter.Value --output text

要查找Bottlerocket aws-ecs-1變體的最新AMI ID,運(yùn)行:

aws ssm get-parameter --region us-west-2 \

--name "/aws/service/bottlerocket/aws-ecs-1/x86_64/latest/image_id" \

--query Parameter.Value --output text

在上述兩個(gè)示例的命令,可以指定是否在另一個(gè)區(qū)域中操作改變區(qū)域,或從x86_64的改變架構(gòu)arm64如果使用Graviton-動(dòng)力實(shí)例。

得到AMI ID后,可以啟動(dòng)EC2實(shí)例并將其連接到現(xiàn)有的EKS或ECS群集。要使用Bottlerocket的Kubernetes變體連接到EKS集群,在啟動(dòng)EC2實(shí)例時(shí),需要提供如下用戶數(shù)據(jù):

[settings.kubernetes]

api-server = "Your EKS API server endpoint here"

cluster-certificate = "Your base64-encoded cluster certificate here"

cluster-name = "Your cluster name here"

要使用Bottlerocket的ECS變體連接到ECS群集,可以提供以下用戶數(shù)據(jù):

[settings.ecs]

cluster = "Your cluster name here"

自定義編譯Bottlerocket

除了使用AWS提供的Bottlerocket AMI外,還可以使用自己的更改生成定制的Bottlerocket構(gòu)建。

作為前提步驟,首先創(chuàng)建一個(gè)Rust開發(fā)環(huán)境。建議使用安裝最新的穩(wěn)定Rust版本。要組織構(gòu)建任務(wù),要使用cargo-make和cargo-deny:

cargo install cargo-make

cargo install cargo-deny --version 0.6.2

Bottlerocket使用Docker來協(xié)調(diào)打包和映像構(gòu)建。建議使用Docker 19.03或更高版本。需要安裝Docker并以您的用戶帳戶運(yùn)行,以便能夠訪問Docker API。通??梢酝ㄟ^將用戶帳戶添加到docker組來啟用此功能。

要生成映像,請(qǐng)?jiān)诟脑创a后運(yùn)行:

cargo make

所有軟件包將依次構(gòu)建,然后編譯目錄中的img文件build。

接下來,要注冊在Amazon EC2上使用的Bottlerocket AMI,需要設(shè)置aws-cli并運(yùn)行:

cargo make ami

開源社區(qū)

Bottlerocket已經(jīng)完全開源,以使用戶能夠?qū)τ糜谶\(yùn)行其基礎(chǔ)架構(gòu)的操作系統(tǒng)進(jìn)行自定義(例如,與自定義協(xié)調(diào)器/內(nèi)核/容器運(yùn)行時(shí)集成),將其提交上游并生成自定義版本。所有設(shè)計(jì)文檔,代碼,構(gòu)建工具,測試和文檔都將托管在GitHub上。使用GitHub的錯(cuò)誤和功能跟蹤系統(tǒng)進(jìn)行項(xiàng)目管理。支持可以使用標(biāo)準(zhǔn)GitHub工作流程查看并為Bottlerocket源代碼做貢獻(xiàn)。構(gòu)建,發(fā)行和測試基礎(chǔ)結(jié)構(gòu)的可用性使生成包含其更改的自定義構(gòu)建變得容易。ISV合作伙伴可以在客戶更新到最新版本的Bottlerocket之前快速驗(yàn)證其軟件。

Bottlerocket包括標(biāo)準(zhǔn)的開放源代碼組件,例如Linux內(nèi)核,容器化容器運(yùn)行時(shí)等。特定于Bottlerocket的附加項(xiàng)著重于可靠的更新以及基于API的機(jī)制來進(jìn)行配置更改和觸發(fā)更新/回滾。可以選擇根據(jù)Apache 2.0許可證或MIT許可證來許可Bottlerocket代碼。諸如Linux內(nèi)核之類的底層第三方代碼仍受其原始許可證的約束。如果修改Bottlerocket,則可以根據(jù)策略準(zhǔn)則使用"Bottlerocket Remix"來引用構(gòu)建。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉