1. 方案背景和挑戰
裸金屬服務器是云上資源的重要部分,其網絡需要與云上的虛擬機和容器互在同一個VPC下,并且能夠像容器和虛擬機一樣使用云的網絡功能和能力。
傳統的裸金屬服務器使用開源的 OpenStack Ironic組件,配合 OpenStack Neutron網絡實現。
傳統方案1:在Neutron使用VLAN網絡時,每個VPC網絡會分配一個唯一的VLAN標簽。通過在裸金屬服務器的網卡上配置相應交換機端口的VLAN標簽,使其與目標網絡的VLAN標簽匹配,就可以將裸金屬服務器的網絡切換到對應的VPC中。
盡管VLAN網絡在流量管理和網絡隔離方面具有較高效率,但也存在一些缺點:
- 可擴展性有限,僅支持4096個VLAN,不能應用在大規模和復雜環境中;
- 管理復雜,需要一致性配置和手動維護;
- 廣播域限制,可能導致網絡擁塞。
為了解決傳統方案1的擴展性和管理靈活性問題,業界逐漸開始采用傳統方案2:利用SDN交換機進行VXLAN/Geneve處理。裸金屬服務器通過VLAN接入SDN交換機,后者負責對數據包進行封裝,然后將流量引入對應的VPC網絡,實現裸機與虛擬機互通。如下圖所示:
這種方案相比傳統方案1,提升了網絡的可擴展性,通過Overlay網絡提高了網絡可擴展性、靈活性和安全性。但是,這種方案仍面臨很多問題與挑戰:
- 網絡架構割裂問題:該方案未能實現虛擬網絡與裸機網絡架構的統一管理,導致兩者的配置和管理流程存在差異,增加了運維團隊的學習成本和操作復雜度。這種割裂不僅減緩了網絡變更的響應速度,還可能引發配置錯誤,影響網絡的穩定性和一致性。
- 成本與維護負擔:依賴SDN交換機進行網絡封裝處理,雖然帶來了技術上的進步,但同時也引入了額外的硬件采購與維護成本。這些交換機的部署與升級都需要專業的技術支持,且設備本身的價格不菲,長期來看對預算造成壓力。此外,特定品牌和型號的SDN交換機可能限制了技術選型的自由度,影響網絡架構的擴展性和兼容性,不利于技術迭代和未來升級。
- 靈活性與擴展性局限:在該方案中,裸金屬服務器僅通過單一物理網卡接入SDN交換機,這種連接方式的固定性,限制了網絡接口的靈活性和擴展能力。尤其是缺乏熱插拔支持,意味著在需要調整網絡配置或增加網絡帶寬時,必須停機操作,這不僅影響了業務連續性,也降低了數據中心的運維效率和資源的快速調配能力。
綜上所述,盡管傳統方案2在一定程度上改善了網絡的擴展性和安全性,但其存在的架構復雜性、較高的成本投入、以及有限的靈活性和擴展性,成為制約裸金屬服務高效運營和未來發展的主要障礙。因此,探索更優化的網絡解決方案,以實現網絡架構的統一管理、降低成本負擔、并增強靈活性與擴展性,顯得尤為迫切。
2. 方案介紹
2.1. 整體方案架構
本方案基于DPU的網絡能力,采用開源 Kubernetes底座架構,以OVN/OVS做為網絡轉發面,整體架構如下圖所示:
在集群架構中,裸金屬服務器既可以單獨使用,也可以作為Worker節點加入Kubernetes集群,部署Pod或虛擬機(VM)。無論是作為裸金屬服務器,還是作為Worker節點,網絡I/O均由DPU卸載,并通過OVN進行統一管理。在使用SmartNIC或普通網卡的Worker節點中,OVN的流表管理和下發邏輯保持不變,僅將網絡I/O交由主機側處理。整體方案采用統一的OVN控制器進行策略下發和調度,實現DPU裸機網絡與Pod/VM之間的網絡互通。
本方案的關鍵組件為自研,包括以下組件:
●bmctl:類似于 kubectl的一個便于操作裸金屬的命令行工具。
● ycloud-cni:為裸金屬提供虛擬網卡配置功能,實現CNI接口,并對本地 OVS網絡進行配置。
● ycloud-ovn-controller:該組件執行K8S內資源到OVN資源的翻譯工作,其作用相當于SDN系統的控制平面。監聽所有和網絡相關的資源事件,并根據資源變化情況更新OVN內的邏輯網絡。
2.1. 方案詳細描述
裸金屬的網絡完全由DPU卡來配置,裸金屬機器本身可以不攜帶任何物理網卡,而是通過DPU提供的PF/VF設備作為網卡設備。這些設備由DPU SOC(SOC可以靈活對軟件升級和部署服務)側的OVS進行配置,而不依賴外部交換機,可以實現VXLAN、Geneve等各種虛擬網絡,本方案具有性能優越、靈活性強、部署簡化、管理統一、高可擴展性等優點,是一種高效和可靠的裸金屬網絡解決方案。如下圖所示:
在裸金屬方案中,網卡被抽象為彈性虛機網卡(VNic)對象,由bm-controller根據用戶需求創建VNic對象,并由Ycloud-cni組件將VNic綁定到裸金屬。在這個過程中,bm-controller會為Host側分配PF/VF,并調用OVS將相應的端口綁定到OVS網橋,進行必要的配置。這種方案無需更改交換機的配置,同時將控制面和數據面都卸載到DPU中處理,使得管理流程與虛擬網絡中的POD/VM基本一致。唯一的區別在于本地虛擬網絡設備的生成過程,使用Ycloud-cni-ds處理配置DPU本地網絡。如下圖所示:
總體來說,基于DPU的裸金屬網絡方案為裸金屬服務器提供了靈活且高效的網絡管理解決方案。
基于DPU的裸金屬方案使用DPU的VF設備提供網卡功能,動態配置網卡,無需冗余網卡。Ycloud-cni組件負責管理PF/VF設備,實現網卡的動態插拔和配置。相比原生Ironic的冗余網卡需求,這種方案更靈活高效,避免資源浪費。 DPU提供數百個以上的VF,足以滿足不同用戶需求,使得網卡的熱插拔變得簡單而高效,提高資源利用率。
3. 測試與驗證
3.1. 資源創建
與其他k8s資源的創建類似,裸金屬的通過一個yaml描述進行創建,同時創建POD、VM:
kubectlapply-fbm-xxx.yaml kubectlapply-fpod-xxx.yaml kubectlapply-fvm-xxx.yaml |
裸機yaml中網絡信息:
VM yaml中的網絡信息:
POD yaml中的網絡信息:
查看資源信息如下:
創建后,可通過kubectl命令查看:
裸機可以看到bm-01、bm-02及bm-node3三個裸金屬實例,均為Running狀態。
我們提供了類似 kubectl的一個 bmctl命令行工具,方便進行管理維護。通過該命令,可以方便的進行登錄、重啟、網卡插拔等操作:
3.2. 聯通性
驗證BM跟POD和VM的網絡互通情況
裸機和POD互通:
裸機和VM互通:
3.3. 熱插拔
通過提供的 bmctl命令行工具操作。
添加網卡:
bmctl addinterface bm-02 bm-02-vnicpf |
查看網卡:
刪除網卡:
bmctl delinterface bm-02 bm-02-vnicpf |
查看網卡bm-02
3.4. 統一管理
K8S納管DPU節點,且DPU SOC中使用OVS,可以看到pf0hpf使用的是馭數的驅動。
4. 總結
4.1. 統一管理方案優勢
DPU賦能的裸金屬網絡解決方案,在以下幾個方面具有顯著優勢:
- 精簡網絡架構,提升管理效率:通過將Overlay網絡的終結點設在DPU層面,該方案有效精簡了網絡層級,削減了不必要的組件,從而大幅降低了網絡架構的復雜度。這一設計不僅增強了網絡的可管理性,還為未來的擴展需求奠定了靈活的基礎。
- 優化設備配置,實現成本與效率雙贏:采用DPU為核心的技術路徑,該方案成功減少了對物理交換機的依賴,從根本上簡化了網絡設備配置,降低了硬件成本及運維開支。此舉不僅經濟高效,也為網絡環境的輕量化與高效運作提供了有力支撐。
- 增強網絡接口靈活性,確保業務連續性:得益于DPU的動態特性,支持網絡接口的熱插拔成為可能。這意味著在服務器持續運行的同時,可以根據需要輕松添加或移除網絡接口,確保了業務的不間斷與基礎設施的即時適應性。
- 統一控制,深化SDN潛能:整合統一的SDN控制器,實現策略精準下發與智能調度,不僅超越了傳統VLAN的限制,兼容VXLAN和Geneve等先進技術,還內置了SDN ACL安全策略,模擬云環境下的安全組功能,強化了網絡安全防護。這一策略不僅統一了管理界面,簡化了SDN軟件棧,還顯著提高了網絡的靈活性和響應速度,降低了維護難度,確保了網絡管理的高效與直觀。
綜上所述,DPU驅動的裸金屬網絡方案通過一系列創新設計,從根本上重塑了網絡的部署與管理方式,為追求高效、靈活及安全的現代數據中心提供了強有力的支持。
本方案來自于中科馭數軟件研發團隊,團隊核心由一群在云計算、數據中心架構、高性能計算領域深耕多年的業界資深架構師和技術專家組成,不僅擁有豐富的實戰經驗,還對行業趨勢具備敏銳的洞察力,該團隊致力于探索、設計、開發、推廣可落地的高性能云計算解決方案,幫助最終客戶加速數字化轉型,提升業務效能,同時降低運營成本。
-
云計算
+關注
關注
39文章
7732瀏覽量
137195 -
服務器
+關注
關注
12文章
9017瀏覽量
85182 -
DPU
+關注
關注
0文章
354瀏覽量
24127 -
云原生
+關注
關注
0文章
241瀏覽量
7939
發布評論請先 登錄
相關推薦
評論