Cumulus Linux 4.4 是具有 NVIDIA 用戶體驗( NVUE )的第一個版本,這是 Cumulus Linux 的全新 CLI 。對新的網(wǎng)絡 CLI 的興奮度和一個新的 56k 調(diào)制解調(diào)器是相同的。使 NVUE 與眾不同的不僅僅是它是一個新的 CLI ,而是它所基于的原則使其獨一無二。在其核心, NVUE 創(chuàng)建了 Cumulus Linux 的完整對象模型,實現(xiàn)了高級可編程性、可擴展性和可用性。
什么是對象模型?
對象模型并不完全是網(wǎng)絡工程師每天考慮的事情。在我參與幫助團隊設計 NVUE 之前,我不知道對象模型是什么。
對象模型定義系統(tǒng)的組件及其相互之間的關系。例如,接口是一個對象。它具有 IP 地址或 MTU 設置等組件。重要的不僅僅是對象模型存在這一事實,還包括如何將對象和組件之間的關系組合在一起的思想。
接口和 IP 地址是一個簡單的例子,但更復雜的是什么呢?考慮一個“ bond ”接口,也稱為端口通道。鍵合是像以太網(wǎng)端口一樣的頂級接口,將其他以太網(wǎng)接口的組件作為子接口,還是作為鍵合中的成員是接口的一個元素?

這些關系很快變得復雜起來。如果不仔細考慮這些問題,就會造成糟糕的用戶體驗,您可能需要多次定義相同的設置,以實現(xiàn)最終目標或不一致的配置。虛擬網(wǎng)絡 CLI 可以讓您在 VRF 對象下定義 VRF 內(nèi)部的任何路由,但在頂層定義全局路由表中的任何路由,如以下示例所示:
ip vrf red ip route 10.1.1.0/24 via 169.254.1.1 !
ip route 192.168.1.0/24 via 172.16.1.1這是一個簡單的示例,但現(xiàn)在定義路由的方式并不統(tǒng)一,這取決于您在系統(tǒng)中的位置。
使用對象模型可以得到什么?
了解了對象模型是什么之后,下一個問題是,“為什么要關心?”通過擁有對象模型,構建與系統(tǒng)交互的方式變得非常簡單。系統(tǒng)與表示對象模型的 API 通信。當然,第一個接口是 CLI ,但現(xiàn)在任何東西都可以是系統(tǒng)的接口: REST 、 gRPC 甚至RFC1149 鳥類攜帶者。

圖 3 . Cumulus Linux 4 . 4 中提供了 CLI 和 REST 接口。
通過讓所有接口使用相同的對象模型,無論您如何與系統(tǒng)接口,都可以保證一致的結果。 CLI 和 REST API 使用相同的方法配置 BGP 對等機。根據(jù)您使用的接口,永遠不可能看到不同的行為。因為無論您如何與對象模型交互,對象模型都是相同的,這意味著從使用 CLI 到構建完全自動化是一種演變,而不是一個全新的過程。
目前,任何網(wǎng)絡設備都需要 REST 和 CLI 。除此之外,我們還能想到什么呢?對象模型可以直接導入 Python 或 Java 等編程語言。這使您能夠使用真正的編程概念為一個設備或整個設備結構構建配置。您可以前所未有地強制執(zhí)行輸入、值和關系。以下代碼示例顯示了 NVUE Python 接口 MIGht 的外觀:
from nvue import Switch spine01 = Switch() x = 1 while x < len(spine01.interfaces): spine01.interfaces.x.state = "up" spine01.interfaces.x.ip.address = “10.1.” + x + “.1/24”?
spine01.apply()在本例中,我加載nvue庫并創(chuàng)建一個名為 spine01 的新Switch對象。我讓對象告訴我有l(wèi)en(spine01.interfaces)的系統(tǒng)上存在多少接口。對于每個接口,我將其置于 up 狀態(tài),并分配一個 IP 地址,其子網(wǎng)值與接口號匹配。例如,端口 3 的 IP 地址為 10 . 1 . 3 . 1 / 24 。
這還不存在,但絕對是可能的,因為存在一個對象模型。與所有其他網(wǎng)絡供應商系統(tǒng)(其中模型由 CLI 確定)不同,此 CLI 基于模型。對象模型是一個獨立的元素,可以導入到編程語言、 API 或任何其他系統(tǒng)中。
關于作者
Pete Lumbis 是 NVIDIA 以太網(wǎng)網(wǎng)絡技術營銷總監(jiān)。 Pete 幫助客戶構建、設計、自動化和加速下一代數(shù)據(jù)中心網(wǎng)絡。皮特是 CCIE # 28677 和 CCDE 2012 :: 3 。
審核編輯:郭婷
-
以太網(wǎng)
+關注
關注
41文章
6217瀏覽量
181678 -
NVIDIA
+關注
關注
14文章
5707瀏覽量
110154 -
API
+關注
關注
2文章
2485瀏覽量
67074
發(fā)布評論請先 登錄
MAX5527/MAX5528/MAX5529:一次性可編程線性漸變數(shù)字電位器解析
Intersil X90100:非易失性電子可編程電容器的技術解析
CAT5126:一次性數(shù)字可編程32抽頭電位器的深度剖析
CAT5111:100抽頭數(shù)字可編程電位器的特性與應用
NCD2400M:寬電容范圍非易失性數(shù)字可編程電容器技術揭秘
探索NCD2100非易失性數(shù)字可編程電容器:特性、功能與應用全解析
32V/600mA全集成一體式可編程單相直流無刷風扇驅動芯片具有開閉環(huán)PWM控制編程
基于六邊形波導網(wǎng)格架構實現(xiàn)可編程光子技術
Zynq全可編程片上系統(tǒng)詳解
源儀電子S7220交直流可編程電源產(chǎn)品介紹
可編程負載:實驗室與生產(chǎn)的高效測試助手
NVIDIA CLI對象實現(xiàn)了高級可編程性和可用性
評論