圖片來源: 

紅帽

紅帽從今年初開始在自家混合雲平臺OpenShift中提供了一個容器層級的電力監控工具Kepler,能用於監控雲原生應用的功耗與能耗,不僅可以查看Pod或命名空間(Namespace)叢集中每日使用CPU的整體能耗情況,還能夠細緻地檢視每個命名空間的能耗和功耗在不同時段的變化情形,提供每小時的更新頻
率。不過目前尚未支援碳排放監控功能。

在OpenShift 4.14上現已提供這款工具,供用戶進行試用。不過, 現階段僅是技術預覽版,尚未推出正式版。

去年初,紅帽承諾要在2030年實現營運溫室氣體淨零排放的目標,其中在針對企業客戶節能減碳方面,紅帽計畫開發一套軟體能耗量測的方法或工具,不僅能夠蒐集和監控每個容器化應用的能耗狀況,甚至可以將其碳排放數據納入管理與追蹤。

這套工具源自於一個Kepler(Kubernetes-based Efficient Power Level Exporter)專案。這是由紅帽、IBM在2022年2月所發起,在2023年5月加入CNCF基金會沙盒的專案,利用eBPF來取得能源相關系統狀態的數據,並匯出成Prometheus指標進行監控和管理的工具。

Kepler這項工具會在每個節點中部署一個Kepler探索器,用於蒐集容器層級和節點層級的資訊,主要透過eBPF程式來追蹤CPU效能計數器和Linux核心Tracepoint機制,來蒐集即時能耗和資源利用率相關資訊,再進一步計算出每個容器或節點所消耗的kWh能耗資訊,用於監控和管理每個容器和節點的能耗情形。

Kepler還使用API從節點元件蒐集各種即時功耗資訊,例如RAPL(用於監控與管理CPU及記憶體的用電量)、NVML(GPU資源利用率管理函式庫)、ACPI(系統電源效能管理介面)、IPMI(伺服器電源監測介面)等。

為了準確預估每個容器或Pod的實際能耗,在Kepler工具中還結合機器學習模型來進行測量和預估,以提高測量模型準確性,以便根據實際的資源利用率準確地估計其功耗。同時,Kepler工具本身也整合了開源監控與資料視覺化平臺Grafana,可以視覺化方式呈現Pod或Namespace的電力消耗的情況。

從電力監控儀表板中,使用者不僅可以查看每日Pod或Namespace叢集中占用CPU能耗的整體情況,包括所選CPU架構和受監控指定的節點數量等,還可放大檢視每個Namespace在不同時段的能耗和功耗變化,並提供每小時的更新頻率。此外,也可以優先列出能耗過高的Namespace叢集,了解哪些容器和Pod消耗的電量最多,做為日後能耗改善的參考依據。圖片來源_紅帽

每個Pod或命名空間的能耗都能納入監控

紅帽目前雖然還沒將Kepler變成OpenShift的內建功能,但隨著去年11月,OpenShift 4.14版本的發布後,紅帽開始推出了採用Kepler專案所開發的電力監控功能的開發者預覽,讓開發者可以透過安裝外掛的方式,直接將其整合到OpenShift主控臺的儀表板上,方便用戶進行查看和分析。隨後在今年1月底,這項功能進入技術預覽階段,目前尚未推出正式版。

從電力監控儀表板中,使用者不僅可以查看每日所有Pod或Namespace叢集中占用CPU能耗的整體情況,包含所選CPU架構和受監控指定的節點數量等,還可放大檢視每個Namespace在不同時段的能耗和功耗變化,並提供每小時的更新頻率。此外,也可以優先列出能耗過高的Namespace叢集,了解哪些容器和Pod消耗的電量最多,做為加強能耗改善的參考依據。

值得注意的是,在OpenShift中這項功能目前僅提供Pod、Namespace的功耗和能耗資訊,尚未包含碳排放資訊。因此,企業必須自行將每個容器或運算節點所消耗的kWh能耗資訊乘上碳排放因子,才能夠換算出相應的碳排放量,還無法直接在OpenShift中來查看每個容器或節點的碳排狀況。

紅帽表示,透過Kepler工具能夠協助企業更容易觀察、分析、優化和記錄雲端原生應用程式的功耗,而且不僅僅是能產出相關能耗報告,還能用於建立和追蹤其碳足跡,甚至是與軟體工程CI/CD工作流程緊密結合等。

紅帽最新提供的Kepler技術支援矩陣顯示了目前已支援和計畫提供技術支援情 況,最底層是作業環境層(包含裸機、虛擬機器環境),再上一層是電力資訊收 集層(主機板、硬體元件),最上面是應用層(Pod、容器、Process和VM)。圖片來源_紅帽

 

Kepler專案未來計畫提供技術支援

根據紅帽最新提供的Kepler技術支援矩陣顯示了目前已支援和計畫提供技術支援情況,涵蓋了作業環境層、電力資訊收集層,以及應用層。

首先,在底層作業環境上,Kepler現已可支援跨不同作業環境,包括裸機和虛擬機器環境,來監測每個容器化應用的能耗,之後還將支援可信賴執行環境TEE架構。再上一層是電力資訊收集層,一方面支援來自BMC/HMC硬體管理主控臺的電力數據源,未來也將能進一步支援儲存、網路以及外部的電力資訊。另一方面,Kepler支援目前主流的硬體元件及記憶體,包含CPU、GPU、DRAM記憶體和QAT加解密加速器。最上面的應用層,Kepler不只可以支援Pod、容器,還能夠提供Process和虛擬機器的支援。也就是說,即使是在非雲原生環境中,也能夠使用Kepler進行VM的能耗監測和管理。

除了Kepler專案之外,從紅帽一份雲原生永續性發展藍圖中透露出他們未來在雲原生永續發展上,還將積極推動三項雲原生永續性專案計畫及發展。由左至右分別是能夠感知功耗變化並調整工作負載排程的Peaks專案,還有專注於利用ML模型預測和調整Pod資源使用進行調度的Clever專案。最後一個發展計畫則和減碳相關,能夠自動根據容器化應用的工作負荷進行調度,將高耗能的工作負載分配到碳排放足跡較低的環境中執行。 圖片來源_紅帽

 

紅帽雲原生永續性發展藍圖

除了Kepler專案之外,從紅帽一份雲原生永續性發展藍圖中透露出他們未來在雲原生永續發展上將積極推動三項雲原生永續性專案及發展。紅帽提到的第一個雲原生永續性專案是Peaks專案。這是由紅帽、ET和IBM去年10月發起的專案,它是一個能夠感知功耗並調整工作負載排程的工具,使用該工具可以透過從Kepler中取得的能耗資訊以及綜合能源效率、資源利用率和硬體的相關性,進而計算出其功耗效率資訊,作為能源效率工作負載調度的參考依據,來最佳化其每瓦特效能。

第二項雲原生永續專案則是Clever專案,專注於利用ML模型來預測和調整Pod資源使用和進行調度,以便能夠根據工作負載自動擴展或縮放Pod節點,達到功耗效能最優化。

紅帽提到的最後一個雲原生永續發展方向則和減碳相關,未來能夠自動根據容器化應用的工作負荷進行調度,將高耗能的工作負載分配到碳排放足跡較低的環境中執行,確保在工作負載的生命周期內落實永續目標。除了Kepler已加入CNCF基金會沙盒專案,Peaks和Clever專案目前均已放上GitHub 上。

熱門新聞

Advertisement