關(guān)于我們

麒麟動態(tài)

當(dāng)前位置  >  首頁  >  關(guān)于我們  >  麒麟動態(tài)  >  正文

持續(xù)貢獻(xiàn)開源社區(qū),麒麟軟件方案修復(fù)K8s NUMA調(diào)度BUG

發(fā)布時間:2023-10-12    瀏覽次數(shù):2781次    作者:麒麟軟件



Kubernetes(簡稱“K8s”或者“Kube”)是一個開源的,用于管理云平臺中多個主機上的容器化的應(yīng)用,K8s的目標(biāo)是讓部署容器化的應(yīng)用簡單并且高效,是理想的托管平臺。K8s于2015年發(fā)布,并迅速成為事實上的容器編排標(biāo)準(zhǔn)。


在相關(guān)項目中,采用麒麟云原生平臺,基于K8s調(diào)度相關(guān)的scheduler-plugins和node-feature-discovery項目深度定制開發(fā)了NUMA感知調(diào)度功能,以滿足特定客戶需求。在開發(fā)測試驗證環(huán)節(jié),分別發(fā)現(xiàn)開源社區(qū)的scheduler-plugins和node-feature-discovery項目存在以下問題。


問題現(xiàn)象描述

scheduler-plugins是K8s調(diào)度SIG的擴展庫項目,用于增強K8s默認(rèn)調(diào)度器的功能。其中,noderesourcetopology插件支持NUMA感知調(diào)度,但若某臺服務(wù)器的NUMA節(jié)點中存在未插入內(nèi)存條的情況,可能會出現(xiàn)問題:分配給Pod的NUMA節(jié)點組合中可能包含這些無內(nèi)存的節(jié)點,導(dǎo)致Pod無法正常運行。


node-feature-discovery是K8s另一個SIG的項目,用于收集節(jié)點硬件信息,包括NUMA拓?fù)湫畔?。同樣,若某個節(jié)點的NUMA節(jié)點存在未插入內(nèi)存條的情況,node-feature-discovery服務(wù)也可能無法啟動,從而無法獲取節(jié)點的NUMA拓?fù)湫畔ⅰ?/p>


問題定位

針對scheduler-plugins問題,經(jīng)過定位發(fā)現(xiàn):findSuitableCombination函數(shù)在選取NUMA node組合時未經(jīng)過充分的考慮。如下圖所示,該函數(shù)主要是在循環(huán)檢查每一種NUMA node組合,針對具體一種NUMA node組合,首先計算組合內(nèi)資源總和(下圖所標(biāo)識的第一步),接著判斷該資源總和是否滿足pod資源請求(下圖所標(biāo)識的第二步)。假設(shè)一種NUMA node組合為 "2,3,6",2和6的內(nèi)存之和滿足pod內(nèi)存請求,但是3沒有插入內(nèi)存條,此時依然認(rèn)為 "2,3,6"組合是滿足要求的。


針對node-feature-discovery問題,經(jīng)過定位發(fā)現(xiàn),GetNumaMemoryResources函數(shù)在計算服務(wù)器上的NUMA node的memory與hugepages信息時發(fā)生錯誤,該函數(shù)默認(rèn)所有NUMA node都有內(nèi)存條,導(dǎo)致遍歷計算某些未插入內(nèi)存條的NUMA node的hugepages信息發(fā)生錯誤。如下圖所示:getHugepagesBytes函數(shù)計算某些未插入內(nèi)存條的NUMA node的hugepages信息會發(fā)生錯誤,導(dǎo)致整個node-feature-discovery服務(wù)啟動失敗。


問題修復(fù)

基于上述分析及定位,麒麟軟件推出修復(fù)方案:


(1)針對scheduler-plugins問題,在循環(huán)檢查每一種NUMA node組合中,先對具體的NUMA node組合進行有效性校驗,對不存在某種資源的非法組合進行過濾,有效的組合才會進行接下來的計算。


(2)針對node-feature-discovery問題,GetNumaMemoryResources函數(shù)遍歷計算服務(wù)器上的NUMA node的memory與hugepages信息時,如果getHugepagesBytes函數(shù)返回的錯誤是文件或者目錄不存在則跳過該計算。


以上修復(fù)方案已第一時間反饋,并被CNCF社區(qū)接受。


通訊員?|?劉韻

來? ? 源?|?麒麟云事業(yè)部

審? ? 核?| 市場與政府事務(wù)部


往期回顧



上一篇: 支撐社保服務(wù)百姓|基于銀河麒麟操作系統(tǒng)的社保智能服務(wù)解決方案 下一篇: 基于銀河麒麟操作系統(tǒng)的零信任身份安全解決方案,讓“無邊界辦公”更安全

試用

服務(wù)

動態(tài)

聯(lián)系

金鸡app官方网站,锵锵锵锵锵锵锵锵锵好深好疼,葫芦里面不买药千万影片你需要app ,沦为黑人的泄欲工具 ,高校长白沽老师洁2,suming沟厕系列视频,国产私拍视频,[长弓燧龙] 女武神の梦,201314爱国者app,男人用j戳女人的屁股的软件