測試網絡基礎設施和為新環境構建可工作的 PoC,往好了說可能很棘手,往壞了說可能非常可怕。你可能會遇到無法滿足的許可要求,或者為高級虛擬機軟件支付昂貴的費用。專有網絡系統可能花費數百或數千美元,只是為了建立一個可供使用的測試環境。你甚至可能會被迫在物理、可能過時的硬件上進行測試,你必須自己連接,如果你需要用更多的硬件進行測試,你必須找到并購買更多。
為什么選擇 SONiC?
進入SONiC(云中開放網絡軟件),這是一個免費的、社區開發的、基于 Linux 的網絡操作系統(NOS),它在一些最大的云服務提供商的數據中心得到了加強 SONiC 是尋求低成本、可擴展和完全可控的 NOS 而又不犧牲靈活性或安全性的中心的理想選擇,它提供了開發人員所需的所有標準網絡功能,并隨著新功能和更新不斷發展。
Community SONiC 是開源的,與專有的 NOS 相比,它消除了許可和供應商鎖定墻,并顯著降低了成本,這也使得您可以根據需要構建 SONiC 的自定義映像,包括所有必要的部件而排除不需要的部件,從而實現密集的定制。
- 減少不必要的復雜性和資源使用
- 自動化輔助
- 將同一映像部署到數百個交換機,所有交換機都已預配置并準備就緒
- 啟用 ZTP
- 安裝某些 Docker 容器
- 配置路由
- 構建并添加您自己的專有功能
有關詳細信息,請參閱構建 NVIDIA 純 SONiC 映像。
NVIDIA Air 平臺提供了真正的基礎設施即代碼(IaC)解決方案。NVIDIA Air 使您可以輕松地使用數百臺交換機和服務器即時生成虛擬數據中心副本,以便隨心所欲地進行測試。當您不可挽回地毀掉某件東西時,只需再復制一份。
最棒的是,你不必傾家蕩產。NVIDIA Air 對任何人都是免費的。
NVIDIA Air 的一個驚人功能是能夠在一角錢內啟動預制的、完全配置的實驗室。NVIDIA 創建了一個新的預配置 SONiC 實驗室,配備了最新的社區 SONiC GA 版本(出版時為 202305),采用現代數據中心中的經典脊葉架構,這樣任何人都可以毫不費力地在 NVIDIA Air 上體驗 SONiC 的魔力。
SONiC 實驗室
NVIDIA Air 上的SONiC BGP EVPN VXLAN實驗室演示是一個新的實驗室,由標準主干和葉子拓撲組成,運行 SONiC 交換機,Ubuntu 服務器連接到葉子,以演示 VLAN 連接。
該實驗室將引導您了解其配置,以及 Ansible 如何自動為其配備。它還向您展示了如何與它交互。您可以在公共 /cumulus-consulting GitLab repo 上找到所有文檔、配置文件和 Ansible 腳本。
它展示了以下結構:
- 使用 BGP 編號接口的 BGP underlay fabric
- VXLAN 和 EVPN 分別對應覆蓋封裝數據平面和覆蓋控制平面
您還可以使用 NVIDIA Air 的以下功能,將實驗室作為基礎,并根據您的需求進行進一步配置:
- 完整的 CLI 和 API 功能
- 控制平面軟件,包括 BGP、VLAN 和容器
- 自動化和零接觸供應(ZTP)
- 流式遙測網絡監控
- NVIDIA Cumulus Linux 與 SONiC 的互操作測試
- 自定義拓撲和網絡設計
SONiC 交換機配置
實驗室使用專門為虛擬設備構建的 SONiC 映像,稱為sonic-vs
。此映像已安裝在實驗室中的所有 SONiC 交換機上,無需啟動到 ONIE 或自己安裝映像。
SONiC 體系結構是容器化的。具有相似或依賴功能的程序被放在模塊中,每個模塊被放在一個獨立的 Docker 容器中。
中央配置由稱為ConfigDB
的 redisDB 實例管理,設備元數據、接口、端口、VLAN 配置等都在ConfigDB
中處理。ConfigDB
可以通過多種方式進行操作,包括手動編輯config_db.json
文件或使用SONiC CLI。有關更多信息,請參閱SONiC 配置數據庫手冊。
通常,SONiC CLI 用于構建測試環境和概念驗證(PoC),同時管理config_db.json
在生產環境中執行。
split-unified
模式是為這個實驗室實現的。該模式啟用單獨的交換機和路由配置。
交換機配置由 ConfigDB 處理,而路由則使用FRRouting(FRR)進行配置,并放置在單個etc/sonic/frr/frr.conf
文件中,該選項可以通過在 SONiC 交換機上插入以下內容來啟用。
"DEVICE_METADATA" : { "localhost" : { ... "docker_routing_config_mode" : "split-unified" } } |
實驗室的源代碼為拆分模式提供了相同的配置,其中交換機和路由仍然是單獨配置的,就像split-unified
一樣。但是,在split
模式下,每個 FRR 守護進程都包含在它自己的配置文件中,而不像是一個單獨的文件。
根據您的環境,您可能會發現拆分-統一更容易管理,因為它只處理一個文件。有關更多信息,請參閱配置文件。
路由配置
路由配置由 FRR 獨立處理,分離于交換機配置。FRR 是一個功能齊全、高性能、免費的軟件 IP 路由套件,適用于 Linux 和 Unix 平臺,它實現了所有標準路由協議,如BGP、RIP、OSPF、IS-IS等,以及它們的許多擴展。實驗室使用 FRR 來實現編號BGP EVPN作為控制平面。
默認情況下,FRR 預先安裝在 SONiC 上,并且在交換機引導時可用。
使用 FRR 配置路由有兩種方法:
- 手動編輯配置文件
- 熟悉VTYSH
VTYSH 使您能夠在單個集成 shell 中使用 FRR 提供的所有 CLI 命令。實驗室已使用 VTYSH 進行配置。
進入 VTYSH:
admin@leaf01:~$ vtysh Hello, this is FRRouting (version 8.5.1). Copyright 1996-2005 Kunihiro Ishiguro, et al. |
要進行配置,請輸入config
模式
leaf01# configure leaf01(config)# |
然后,輸入您的配置:
leaf01(config)# router bgp 65101 leaf01(config-router)# bgp router-id 10.0.0.1 leaf01(config-router)# neighbor 172.16.1.0 remote-as 65199 leaf01(config-router)# address-family ipv4 unicast leaf01(config-router-af)# neighbor 172.16.1.0 activate leaf01(config-router-af)# network 10.0.0.1/32 leaf01(config-router-af)# end |
要保存配置,請使用write
:
leaf01# write Note: this version of vtysh never writes vtysh.conf Warning: attempting direct configuration write without watchfrr. File permissions and ownership may be incorrect, or write may fail. Building Configuration... Integrated configuration saved to /etc/frr/frr.conf [OK] |
開始使用
SONiC 得到了一個豐富、活躍的社區的支持,由 NVIDIA 的網絡行業專家定期貢獻,他們完全致力于進一步發展 SONiC 為所有人提供的開放網絡體驗。
未來,NVIDIA 計劃將帶有您自己的 SONiC 圖像基礎設施到 NVIDIA Air 中,這樣您就可以在 NVIDIA Air 提供的免費、方便的環境中充分利用 SONiC 提供的可定制性,同時也會推出常規更新和新功能。
準備好試試 SONiC 了嗎?前往 NVIDIA Air,今天就啟動屬于自己的副本。
?