0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NKD:容器云集群與OS一體化運維利器

openEuler ? 來源:openEuler ? 2023-08-15 14:52 ? 次閱讀

NKD 是 NestOS-kubernetes-Deployer 的縮寫,是為了基于 NestOS 部署的 Kubernetes 集群運維工作準備的解決方案。其目標是在集群外提供對集群基礎(chǔ)設(shè)施(包括操作系統(tǒng)和 Kubernetes 基礎(chǔ)組件)的部署、更新和配置管理等服務(wù)。

1. 引言

Kubernetes 作為云原生領(lǐng)域容器云場景的事實標準,以其卓越的功能和靈活性,極大地簡化了容器化應(yīng)用程序的部署和管理。容器技術(shù)封裝所需運行環(huán)境,實現(xiàn)與底層操作系統(tǒng)的解耦,而 Kubernetes 更進一步實現(xiàn)了與底層運行節(jié)點的解耦,使得應(yīng)用在不同云提供商和環(huán)境中無縫部署。

然而,這種解耦也帶來了新的挑戰(zhàn)。隨著 Kubernetes 的廣泛應(yīng)用,運維復(fù)雜性逐漸凸顯。維護 Kubernetes 集群需要大量技術(shù)和資源,運維人員必須熟悉復(fù)雜的 Kubernetes 配置和管理,以保證集群的穩(wěn)定運行。

為解決這一問題,運維人員主要將精力投入到集群本身的運維管理中,對于底層操作系統(tǒng)和 Kubernetes 基礎(chǔ)組件持保守態(tài)度,避免頻繁更新。然而,考慮到安全更新和 Kubernetes 新版本特性的支持,底層基礎(chǔ)設(shè)施組件的更新勢在必行。因此,需要一種解決方案來簡化底層基礎(chǔ)設(shè)施的運維工作,使運維更輕松地管理和更新集群的基礎(chǔ)設(shè)施。

2. NestOS 云底座操作系統(tǒng)

NestOS 是一款在 openEuler 社區(qū) CloudNative sig 組孵化的云底座操作系統(tǒng),專注于提供大規(guī)模集群部署環(huán)境下最佳的容器主機。

傳統(tǒng)上,使用通用操作系統(tǒng)作為集群基礎(chǔ)設(shè)施時,采用類似 Red Hat Satellite 或 SUSE Manager 等企業(yè)級系統(tǒng)管理平臺是一個較為理想的解決方案。這些平臺提供軟件包管理、配置管理、補丁更新等功能,便于對大規(guī)模集群進行運維。然而,在對操作系統(tǒng)進行升級和管理的過程中,可能會遇到網(wǎng)絡(luò)或電源等異常情況,導(dǎo)致部分節(jié)點處于不穩(wěn)定的中間態(tài)。此外,這些平臺僅限于支持其本身所覆蓋的管理范圍,對于集群中存在運維人員臨時維護或開發(fā)人員臨時調(diào)試導(dǎo)致的環(huán)境不一致,可能無法及時發(fā)現(xiàn)和修正。

為解決這些問題,NestOS 采用基于 rpm-ostree 技術(shù)的操作系統(tǒng)封裝方案,實現(xiàn)原子化更新,避免中間狀態(tài)的存在,即使在升級過程中出現(xiàn)失敗也能快速回滾至上一個穩(wěn)定狀態(tài),保證系統(tǒng)的穩(wěn)定性。在日常運行中,NestOS 采取安全措施保證系統(tǒng)穩(wěn)定性,關(guān)鍵目錄設(shè)為只讀狀態(tài),核心系統(tǒng)文件和配置不會被意外修改,通過 ignition 機制導(dǎo)入和固化重要的系統(tǒng)配置,確保配置的持久性和一致性。這使得操作系統(tǒng)能夠始終保持預(yù)期的狀態(tài),減少意外錯誤。

NestOS 的核心思想類似于容器技術(shù)中的鏡像,旨在為操作系統(tǒng)層面打造不可變基礎(chǔ)設(shè)施。在部署時凍結(jié)了操作系統(tǒng)版本和配置,使其成為一個不可變的實體。這種做法有助于消除操作系統(tǒng)變體,確?;A(chǔ)組件版本與配置的一致性,從而提供了一個穩(wěn)定可靠的基礎(chǔ)設(shè)施環(huán)境。在集群中使用 NestOS 可以帶來更高的一致性和可靠性,簡化和高效地管理和維護操作系統(tǒng)。

wKgaomTbIL2AO6chAABt51Z6g3Q785.jpg

可變基礎(chǔ)設(shè)施 vs 不可變基礎(chǔ)設(shè)施

然而,引入 NestOS 在原理上簡化集群運維工作的同時,也在實際落地中帶來了一些新的挑戰(zhàn)。例如,NestOS 作為一種新的操作系統(tǒng)形態(tài)需要運維人員熟悉理解其核心思想,接受任何改動均需在 CICD 流水線上重新構(gòu)建系統(tǒng)鏡像而不是登入系統(tǒng)操作、操作系統(tǒng)變更需重新引導(dǎo)等與通用操作系統(tǒng)迥然不同的使用習(xí)慣,以便有效地管理和維護。此外,NestOS 與傳統(tǒng)操作系統(tǒng)存在差異,需要適應(yīng)新的工具和技術(shù),具體有如下幾個方面:

「系統(tǒng)鏡像構(gòu)建工具鏈」:NestOS 一切業(yè)務(wù)相關(guān)的組件及配置變更均需重新構(gòu)建新版系統(tǒng)鏡像,因此提供 NestOS-Assembler 編譯工具鏈,可以完成從構(gòu)建配置到多種系統(tǒng)鏡像格式的生成,同時提供自動化測試工具,驗證鏡像基礎(chǔ)組件可靠性。

「環(huán)境相關(guān)動態(tài)配置文件」:NestOS 通過 ignition 機制在部署階段將與環(huán)境相關(guān)的動態(tài)配置(例如登錄憑據(jù)、網(wǎng)絡(luò)、外掛存儲等信息)注入,因此需要運維人員提前編寫配置文件,并通過 NestOS 提供的工具轉(zhuǎn)化為機器可讀的 ign 文件,供操作系統(tǒng)部署時使用。

「系統(tǒng)鏡像更新源」:NestOS 支持通過 rpm-ostree 直接下載當(dāng)前版本樹的最新版本,但需要運維人員對系統(tǒng)鏡像更新源進行維護管理,相應(yīng)也需要學(xué)習(xí)對應(yīng)的部署工具。也可以通過容器鏡像的形式分發(fā)新版本系統(tǒng)鏡像,復(fù)用現(xiàn)有 CICD 資源,但將無法應(yīng)用增量更新方式,每次更新均需下載完整系統(tǒng)鏡像。

「系統(tǒng)更新升級管理」:上述工具為系統(tǒng)更新做好了準備,但沒有解決何時可進行系統(tǒng)升級的問題。NestOS 雖提供了 zincati 組件實現(xiàn)基本的更新策略管理,但最佳實踐仍應(yīng)當(dāng)為結(jié)合操作系統(tǒng)當(dāng)前運行業(yè)務(wù)狀態(tài),在業(yè)務(wù)允許的時間窗口對節(jié)點執(zhí)行更新維護操作。對于容器云場景,NestOS 提供基于 operator 機制實現(xiàn)的 housekeeper 服務(wù),在對節(jié)點上運行的容器業(yè)務(wù)進行驅(qū)逐后再行升級,用戶也可基于此制定更為復(fù)雜的升級維護策略。

接納操作系統(tǒng)使用的新方式需要成熟案例與時間積淀,但引入的運維挑戰(zhàn)可以通過方便的運維工具去解決。在這一背景下,NestOS-kubernetes-Deployer 應(yīng)運而生,旨在提供集群外的部署、更新和配置管理等服務(wù),為運維人員提升 NestOS 運維體驗。

3. NKD 對容器云運維場景的助力

NKD 是面向 kubernetes 集群場景的解決方案,主要簡化集群部署和升級流程,具體如下:

「集群基礎(chǔ)設(shè)施創(chuàng)建」:NKD 根據(jù)集群需求,連接基礎(chǔ)設(shè)施提供商動態(tài)創(chuàng)建所需的 IaaS 資源,支持裸金屬和虛擬化場景,目前優(yōu)先實現(xiàn) openstack 場景。

「操作系統(tǒng)鏡像構(gòu)建」:NestOS 提供完善的鏡像構(gòu)建工具鏈,可以輕松集成到用戶現(xiàn)有 CICD 流程中,便于根據(jù) openEuler 官方或用戶自定義軟件源快速構(gòu)建定制鏡像。NKD 目前獲取鏡像構(gòu)建結(jié)果,并將相應(yīng)更新源配置應(yīng)用到集群中,未來將支持 NKD 配置托管鏡像構(gòu)建流程。

「動態(tài)配置注入」:在部署 NestOS 系統(tǒng)時,需要通過 ignition 點火機制傳入系統(tǒng)部署后所需的動態(tài)配置。NKD 目前提供工具形式,支持通過命令行參數(shù)或配置文件將用戶配置轉(zhuǎn)換為 ign 點火文件。最終目標是提供用戶友好的前端配置界面,便于輕松生成所需配置,并提供配置變更版本管理功能。

「kubernetes 集群部署」:這也是 NKD 的核心能力,將 k8s 集群部署所需配置自動合并到用戶配置生成的 ign 文件中,使得節(jié)點在部署完成操作系統(tǒng)引導(dǎo)后自動開始創(chuàng)建 k8s 集群,無需手動干預(yù)。

「集群狀態(tài)檢測與 housekeeper 部署」:NKD 持續(xù)檢測 k8s 集群狀態(tài),一旦集群創(chuàng)建完成,向用戶提供訪問憑據(jù),并部署 housekeeper 自定義資源,用于后續(xù)維護升級功能。用戶可選擇默認不部署該 CRD。

「操作系統(tǒng)或 k8s 基礎(chǔ)組件升級維護」:當(dāng)操作系統(tǒng)或 k8s 基礎(chǔ)組件需要升級維護時,NKD 使用鏡像構(gòu)建工具重新構(gòu)建新版系統(tǒng)鏡像,并在查詢到新版鏡像后,向集群創(chuàng)建 housekeeper CR 資源。集群中的 housekeeper 服務(wù)按照配置逐次對集群節(jié)點進行升級,完成整個集群的升級工作。

通過以上整體方案,用戶可只通過 NKD 一鍵式完成集群創(chuàng)建和后續(xù)更新工作,而無需手動進行繁瑣步驟,簡化運維步驟。接下來我們對 NKD 架構(gòu)及未來規(guī)劃作一個簡要介紹。

4. NKD 完整規(guī)劃

wKgZomTbIL2AEHTEAAGtzSA3mQw199.jpg

NKD 整體架構(gòu)與集群交互全景

NKD 的整體架構(gòu)由多個組件構(gòu)成,主要包括 NKDS(NestOS-kubernetes-deployer-service)作為主體、部署到集群中的 HKO(housekeeper operator)以及集成在 NestOS 鏡像中的 installer。此外,還可以配合 NestOS 鏡像構(gòu)建工具鏈、配置管理倉庫(如 git)和私有化部署的容器鏡像倉庫,共同完成集群運維任務(wù)。目前 NKDS 以命令行工具提供,暫不提供對外 http 接口和前端配置頁面,但主體功能所需的基礎(chǔ)設(shè)施管理、配置管理、系統(tǒng)鏡像管理、證書管理、健康檢測等模塊已初步形成。HKO 主要包括面向集群的 HKO 組件和集成在 NestOS 鏡像中的 HKD(housekeeper daemon)組件。目前 installer 組件負責(zé)在系統(tǒng)點火階段部署創(chuàng)建 K8S 集群,未來計劃將其功能融合到 HKD 組件中,使整體方案更加精簡,更易于用戶根據(jù)個性化需求管理所需的 K8S 基礎(chǔ)組件。

NKD 的最終目標是以長期駐留服務(wù)形式提供運維服務(wù),同時支持多個集群的管理。它將提供持久化配置變更記錄、證書管理、多種更新升級策略和鏡像源頻道等功能。未來,我們將持續(xù)優(yōu)化 NKD 的功能和性能,并引入更多智能化特性,如自動化故障處理和資源優(yōu)化等。我們的目標是將 NKD 打造成 NestOS 生態(tài)中的核心組件,為云原生場景下的運維工作提供全方位支持,進一步推動云原生技術(shù)的發(fā)展和應(yīng)用。

5. 總結(jié)

NestOS 作為專為云原生場景設(shè)計的操作系統(tǒng),為容器云運維帶來了巨大的助力,而 NKD 則是針對 NestOS 運維中新引入的問題所提供的解決方案。通過持續(xù)優(yōu)化和創(chuàng)新,NKD 將使業(yè)界更易接受以 NestOS 為代表的不可變基礎(chǔ)設(shè)施,同時隨著 Kubernetes 社區(qū)的發(fā)展,更多創(chuàng)新解決方案將推動云原生技術(shù)向更成熟和可持續(xù)的未來發(fā)展。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7113

    瀏覽量

    125112
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    508

    瀏覽量

    22391
  • 云原生
    +關(guān)注

    關(guān)注

    0

    文章

    259

    瀏覽量

    8225
  • openEuler
    +關(guān)注

    關(guān)注

    2

    文章

    326

    瀏覽量

    6273

原文標題:NKD:容器云集群與 OS 一體化運維利器

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    石油石化室內(nèi)外一體化定位解決方案

    一體化
    中海達
    發(fā)布于 :2023年06月21日 11:44:11

    淺析機電一體化的發(fā)展趨勢

      近些年來,光機電一體化技術(shù)得到迅猛發(fā)展,在民用工業(yè)和軍事領(lǐng)域得到廣泛地應(yīng)用。因此,光機電一體化技術(shù)成為當(dāng)今機械工業(yè)技術(shù)發(fā)展的個主要趨勢?! ?b class='flag-5'>一、光機電
    發(fā)表于 10-21 11:00

    Altium--機電一體化?

    “干涉”檢測,這無疑將大大提高研發(fā)效率。 Altium針對機電一體化協(xié)同設(shè)計開發(fā)了套獨特的解決方案,不僅解決了電子產(chǎn)品與外殼匹配的問題,也創(chuàng)造了過去從未在ECAD領(lǐng)域內(nèi)使用過的革命性的三布局編輯
    發(fā)表于 01-06 17:44

    【云智易申請】一體化機柜監(jiān)控設(shè)計

    申請理由:申請開發(fā)板設(shè)計機柜監(jiān)控系統(tǒng),曾今設(shè)計過智能電表,無線多路搶答器,多旋翼飛行器等,參加過電子設(shè)計國賽省賽,光電設(shè)計大賽,等。項目描述:如今設(shè)備都朝一體化,智能的方向發(fā)展,機柜也朝一體化
    發(fā)表于 07-23 12:15

    普及從跑腿到云一體化IT管理的常識

    普及從跑腿到云一體化IT管理的常識個名詞相當(dāng)豐富的領(lǐng)域,拋開各種豐富的技術(shù)名詞,單就
    發(fā)表于 06-22 14:28

    什么是機電一體化

    機電一體化http://www.gooxian.com/article/show-1823.htm就是“利用電子、信息(包括傳感器、控制、計算機等)技術(shù)使機械柔性和智能”的技術(shù)1) 術(shù)語的來源
    發(fā)表于 08-29 09:06

    機電一體化系統(tǒng)

    如圖1.1所示,機電一體化系統(tǒng)與靈活性和智能型最強的人體相對應(yīng),由如下5個要素構(gòu)成;1) 機械裝置:能夠?qū)崿F(xiàn)某種運動的機構(gòu)(相當(dāng)于人類的骨骼)。2) 執(zhí)行裝置:驅(qū)動機械裝置運動的部分(相當(dāng)于人類
    發(fā)表于 08-29 09:11

    如何實現(xiàn)機電一體化設(shè)計?

    用戶總是要求我們提高所設(shè)計的機械的性能,同時減少資金成本。為了達到這兩個矛盾的目標,我們將注意力放到在機械設(shè)計方面有巨大潛力的機電一體化上。本文著重展示了使用嵌入式分析工具的現(xiàn)代計算機輔助設(shè)計(CAD)系統(tǒng),告訴大家,如何才能實現(xiàn)機電一體化設(shè)計?
    發(fā)表于 08-07 06:48

    一體化伺服電機如何保存當(dāng)前參數(shù)

    本文僅適用于立邁勝PMM系列一體化伺服電機出現(xiàn)的常見問題。如您的伺服電機是其他型號的請謹慎操作。解決方法如下:一體化伺服電機如何保存當(dāng)前參數(shù)?在H1010-01寫0x65766173
    發(fā)表于 06-28 07:18

    機電一體化綜合實訓(xùn)考核

    ZN-01MES機電一體化綜合實訓(xùn)考核裝置、概述ZN-01MES機電一體化綜合實訓(xùn)考核裝置 是種為典型的機電一體化、自動
    發(fā)表于 07-02 07:36

    Proteus是如何一體化安裝的

    九層妖塔?起于壘土 Proteus一體化安裝STC15庫添加Step1:Proteus的安裝Step2:STC15庫的導(dǎo)入Step3:新建工程Step4:器件放置Proteus一體化安裝,無需破解
    發(fā)表于 07-28 06:12

    測控一體化閘門系統(tǒng)

    測控一體化閘門系統(tǒng)關(guān)鍵字:測控一體化閘門系統(tǒng) 智能一體化閘門 灌區(qū)水閘自動控制云傳物聯(lián)測控一體化閘門系統(tǒng)集閘門遠程/自動控制、渠道水位流量
    發(fā)表于 08-25 14:34

    H3CU-CENTER一體化管理平臺的特點及功能應(yīng)用

    隨著政法信息建設(shè)的推進,建設(shè)個全局統(tǒng)規(guī)劃和統(tǒng)部署的融合、智能一體化
    發(fā)表于 11-28 10:51 ?5793次閱讀

    光伏、儲能一體化監(jiān)控及解決方案

    Acrel-2000MG儲能系統(tǒng)能量管理系統(tǒng)適合部署在本地,作為實時監(jiān)控、異常告警和策略管理;AcrelEMS企業(yè)微電網(wǎng)能效管理平臺適用于企業(yè)源網(wǎng)荷儲充一體化管理平臺,并提供移動端數(shù)據(jù)服務(wù)和異常告警。
    的頭像 發(fā)表于 02-28 10:55 ?756次閱讀
    光伏、儲能<b class='flag-5'>一體化</b>監(jiān)控及<b class='flag-5'>運</b><b class='flag-5'>維</b>解決方案

    水肥一體化設(shè)備管理平臺有什么功能 ?

    提供面向設(shè)備制造商的水肥一體化設(shè)備管理平臺,可以將設(shè)備數(shù)據(jù)傳輸?shù)皆贫?,通過遠程監(jiān)控和遠程控制的方式進步提升農(nóng)耕作業(yè)的效率,節(jié)省用肥用水量,提升價值收益。 通過手機電腦的平臺界面,
    的頭像 發(fā)表于 04-07 15:48 ?519次閱讀
    水肥<b class='flag-5'>一體化</b>設(shè)備<b class='flag-5'>運</b><b class='flag-5'>維</b>管理平臺有什么功能  ?

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品