IT之家 11 月 3 日消息,據(jù) openEuler 發(fā)布,NestOS 是一款在歐拉開(kāi)源社區(qū) Cloud Native SIG 孵化的云底座操作系統(tǒng),專注于提供最佳的容器主機(jī),大規(guī)模下安全的運(yùn)行容器化工作負(fù)載。
Nest 即“巢穴”,作為可以包容 podman(鼴鼠)、iSulad(螞蟻)、Docker(集裝箱)的“巢穴”,NestOS 即化身為可以搭載 iSulad、docker、podman 等基礎(chǔ)平臺(tái)的操作系統(tǒng)。
NestOS 將配置工具 ignition 與 rpm-ostree、OCI 支持、SElinux 強(qiáng)化等技術(shù)集成在一起,采用基于雙系統(tǒng)分區(qū)、容器技術(shù)和集群架構(gòu)的設(shè)計(jì)思路,可以適應(yīng)各種不同的基礎(chǔ)設(shè)施環(huán)境,并與 OKD 緊密集成,針對(duì)運(yùn)行 Kubernetes 進(jìn)行了優(yōu)化,使系統(tǒng)具備十分便捷的集群組建能力。
NestOS 架構(gòu)圖
NestOS 適用場(chǎng)景
集群規(guī)模
NestOS 支持大規(guī)模集群部署,分布式應(yīng)用的數(shù)據(jù)同步和傳輸量會(huì)隨著節(jié)點(diǎn)的數(shù)量增加而增加,NestOS 可以很好的發(fā)揮自動(dòng)升級(jí),集群管理的特性。同時(shí)判斷集群是否適用 NestOS 的一個(gè)關(guān)鍵依據(jù)就是服務(wù)是否能夠容器化。
面向無(wú)狀態(tài)服務(wù)架構(gòu)
要求系統(tǒng)中的所有服務(wù)對(duì)單次請(qǐng)求的處理不依賴其他請(qǐng)求。即處理一次請(qǐng)求所需的全部信息,要么都包含在這個(gè)請(qǐng)求里,要么可以從外部獲取,服務(wù)器本身不存儲(chǔ)任何信息。
微服務(wù)架構(gòu)
微服務(wù)架構(gòu)是面向無(wú)狀態(tài)服務(wù)架構(gòu)的一種發(fā)展形式,提倡更加松耦合的 SOA 方式。這種部署結(jié)構(gòu)與 NestOS 輕量,快速,分布式數(shù)據(jù)等特性十分吻合,善用 NestOS 的集群化運(yùn)維能力能夠節(jié)省不少遷入微服務(wù)架構(gòu)的運(yùn)維成本。
NestOS 技術(shù)特性
容器技術(shù)
搭載 iSulad、docker、podman 等主流容器基礎(chǔ)平臺(tái),克服了由于用戶修改系統(tǒng)內(nèi)容、用戶服務(wù)對(duì)系統(tǒng)組件依賴,以及系統(tǒng)重啟時(shí)服務(wù)中斷等種種導(dǎo)致升級(jí)過(guò)程不可靠的因素,最終以一種輕量級(jí)、定制化的操作系統(tǒng)呈現(xiàn)出來(lái)。
Ignition
Ignition 是一個(gè)與分發(fā)無(wú)關(guān)的配置實(shí)用程序,用于安裝系統(tǒng)和讀取配置文件(JSON 格式)來(lái)初始化 NestOS??膳渲玫慕M件包括存儲(chǔ)和文件系統(tǒng),systemd 單元和用戶等。
NestOS-installer
NestOS-installer 是一個(gè)幫助安裝 NestOS 的程序,它可以安裝操作系統(tǒng)到目標(biāo)磁盤,可使用 ignition 和首次引導(dǎo)內(nèi)核參數(shù)對(duì)其進(jìn)行自定義。同時(shí)可以列出可供下載的 NestOS 鏡像并且下載驗(yàn)證各種云平臺(tái)、虛擬化或者裸機(jī)平臺(tái)的操作系統(tǒng)鏡像。
Rpm-ostree
Rpm-ostree 可以看成是 rpm 和 ostree 的合體。一方面提供了基于 rpm 的軟件包安裝管理方式,另一方面提供了基于 ostree 的操作系統(tǒng)更新升級(jí)。每次對(duì)系統(tǒng)的更新都像 rpm-ostree 在提交一次“Transaction”,從而確保更新全部成功或全部失敗,并允許在更新系統(tǒng)后回滾到更新前的狀態(tài)。
Zincati
Zincati 是 NestOS 自動(dòng)更新的代理,它作為 Cincinnati 和 rpm-ostree 的客戶端,負(fù)責(zé)自動(dòng)更新/重啟機(jī)器。它支持自動(dòng)更新代理、用戶自定義配置文件和多種更新策略,具有可配置優(yōu)先級(jí)的日志記錄。
雙系統(tǒng)分區(qū)
NestOS 兩個(gè)分區(qū)分別被設(shè)置成主動(dòng)模式和被動(dòng)模式,并在系統(tǒng)運(yùn)行期間各司其職。主動(dòng)分區(qū)負(fù)責(zé)系統(tǒng)運(yùn)行,被動(dòng)分區(qū)負(fù)責(zé)系統(tǒng)升級(jí)。一旦新版本的操作系統(tǒng)被發(fā)布,一個(gè)完整的系統(tǒng)文件將被下載至被動(dòng)分區(qū),并在系統(tǒng)下一次重啟時(shí)從新版本分區(qū)啟動(dòng),原來(lái)的被動(dòng)分區(qū)將切換為主動(dòng)分區(qū),而之前的主動(dòng)分區(qū)則被切換為被動(dòng)分區(qū),兩個(gè)分區(qū)扮演的角色將相互對(duì)調(diào)。同時(shí)在系統(tǒng)運(yùn)行期間系統(tǒng)分區(qū)被設(shè)置成只讀狀態(tài),確保了 NestOS 的安全性。
NestOS 項(xiàng)目地址:https://gitee.com/openeuler/NestOS
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。