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

這些關(guān)系很快變得復(fù)雜起來。如果不仔細(xì)考慮這些問題,就會(huì)造成糟糕的用戶體驗(yàn),您可能需要多次定義相同的設(shè)置,以實(shí)現(xiàn)最終目標(biāo)或不一致的配置。虛擬網(wǎng)絡(luò) CLI 可以讓您在 VRF 對(duì)象下定義 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這是一個(gè)簡(jiǎn)單的示例,但現(xiàn)在定義路由的方式并不統(tǒng)一,這取決于您在系統(tǒng)中的位置。
使用對(duì)象模型可以得到什么?
了解了對(duì)象模型是什么之后,下一個(gè)問題是,“為什么要關(guān)心?”通過擁有對(duì)象模型,構(gòu)建與系統(tǒng)交互的方式變得非常簡(jiǎn)單。系統(tǒng)與表示對(duì)象模型的 API 通信。當(dāng)然,第一個(gè)接口是 CLI ,但現(xiàn)在任何東西都可以是系統(tǒng)的接口: REST 、 gRPC 甚至RFC1149 鳥類攜帶者。

圖 3 . Cumulus Linux 4 . 4 中提供了 CLI 和 REST 接口。
通過讓所有接口使用相同的對(duì)象模型,無論您如何與系統(tǒng)接口,都可以保證一致的結(jié)果。 CLI 和 REST API 使用相同的方法配置 BGP 對(duì)等機(jī)。根據(jù)您使用的接口,永遠(yuǎn)不可能看到不同的行為。因?yàn)闊o論您如何與對(duì)象模型交互,對(duì)象模型都是相同的,這意味著從使用 CLI 到構(gòu)建完全自動(dòng)化是一種演變,而不是一個(gè)全新的過程。
目前,任何網(wǎng)絡(luò)設(shè)備都需要 REST 和 CLI 。除此之外,我們還能想到什么呢?對(duì)象模型可以直接導(dǎo)入 Python 或 Java 等編程語言。這使您能夠使用真正的編程概念為一個(gè)設(shè)備或整個(gè)設(shè)備結(jié)構(gòu)構(gòu)建配置。您可以前所未有地強(qiáng)制執(zhí)行輸入、值和關(guān)系。以下代碼示例顯示了 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)建一個(gè)名為 spine01 的新Switch對(duì)象。我讓對(duì)象告訴我有l(wèi)en(spine01.interfaces)的系統(tǒng)上存在多少接口。對(duì)于每個(gè)接口,我將其置于 up 狀態(tài),并分配一個(gè) IP 地址,其子網(wǎng)值與接口號(hào)匹配。例如,端口 3 的 IP 地址為 10 . 1 . 3 . 1 / 24 。
這還不存在,但絕對(duì)是可能的,因?yàn)榇嬖谝粋€(gè)對(duì)象模型。與所有其他網(wǎng)絡(luò)供應(yīng)商系統(tǒng)(其中模型由 CLI 確定)不同,此 CLI 基于模型。對(duì)象模型是一個(gè)獨(dú)立的元素,可以導(dǎo)入到編程語言、 API 或任何其他系統(tǒng)中。
關(guān)于作者
Pete Lumbis 是 NVIDIA 以太網(wǎng)網(wǎng)絡(luò)技術(shù)營銷總監(jiān)。 Pete 幫助客戶構(gòu)建、設(shè)計(jì)、自動(dòng)化和加速下一代數(shù)據(jù)中心網(wǎng)絡(luò)。皮特是 CCIE # 28677 和 CCDE 2012 :: 3 。
審核編輯:郭婷
-
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
6013瀏覽量
180952 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5600瀏覽量
109816 -
API
+關(guān)注
關(guān)注
2文章
2384瀏覽量
66818
發(fā)布評(píng)論請(qǐng)先 登錄
探索BUF08832:可編程電壓參考的卓越之選
CDCE18005:高性能可編程時(shí)鐘緩沖器的深度剖析
SiLM8264GAHB-DG 30V可編程死區(qū)功能如何實(shí)現(xiàn)10A隔離驅(qū)動(dòng)
基于六邊形波導(dǎo)網(wǎng)格架構(gòu)實(shí)現(xiàn)可編程光子技術(shù)
Zynq全可編程片上系統(tǒng)詳解
TE Connectivity LUMAWISE運(yùn)動(dòng)可編程傳感器技術(shù)解析
源儀電子S7220交直流可編程電源產(chǎn)品介紹
可編程負(fù)載:實(shí)驗(yàn)室與生產(chǎn)的高效測(cè)試助手
香港服務(wù)器部署Windows集群服務(wù)的網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)與實(shí)現(xiàn)-高可用性架構(gòu)方案
MT6501在線可編程角度編碼器:以獨(dú)特可編程特性提升汽車控制精度與可靠性
QNAP 正式推出 NAS 雙機(jī)架構(gòu)的高可用性解決方案,打造不中斷的儲(chǔ)存環(huán)境
吉事勵(lì)可編程變頻電源的特性與應(yīng)用
愛普生SG-8101CG可編程晶振在醫(yī)療設(shè)備領(lǐng)域的應(yīng)用
可編程電子負(fù)載的原理及主要應(yīng)用
NVIDIA CLI對(duì)象實(shí)現(xiàn)了高級(jí)可編程性和可用性
評(píng)論