教主技術進化論 2024年第28期 CML與PyATS

现任明教教主
1 位粉絲
5 觀看·2024年12月15日
教主技術進化論 2024年第28期 CML與PyATS
免費版本CML與基礎架構即代碼,PyATS自動化測試
好
我們進入教主技術進化論
2024年的第28期
我們講CML和PyATX
那麼其實這兩個東西以前我都講過
那麼這是爲什麼要講它
因爲CML免費了
不能叫免費
有一個免費版
好吧
你可以去搜索一下CMLfree
然後會有這麼一個文章
你到這個文章
OK
然後就可以在這個鏈接
然後到這兒
你可以去申請
好吧
如何去
你就自己申請一下就可以了
還是比較簡單的
好吧
這個整個過程應該是我一直在關注
這個CiscoU
好吧
他們發了一個東西
我發現還比較感興趣
我就進來
然後我發現免費了
好
這次我就給大家介紹一下
簡單介紹一下CML
好吧
簡單介紹一下CML
好
我們來看一下
那麼首先我有一個CML老視頻
是2021年的第19期
然後講如何去安裝和使用
那麼我發現新版本跟老版本差距並不大
當然我們的李斌老師過兩天
會給大家做一個比較完整的錄像
來給大家介紹如何去
底層的搭建
然後就算底層搭建還是比較麻煩的
好吧
那麼當然我這兒是提前已經搭建好了的
底層搭建好吧
然後實驗環境我都拉起來了的
這個實驗環境
好吧
我都拉起來了的
那麼底層搭建
你也可以看看我老的錄像
然後過兩天李斌老師也會給你出一個全新的
好吧
講Free版
然後其實還是比較麻煩的
因爲他默認的東西
他這些他支持的沒有我這個多
好吧
而且要外聯
把外面的Linux連進來
其實也存在一定的技術含量
搭建還是有點困難的
所以李斌老師會單獨出錄像來介紹
我來講什麼
我來講這個玩意到底幹嘛用的
好吧
有人說這個有什麼可說的
不就是一個模擬器嗎
你看你連上來
然後就是可以喀喀喀敲
敲配置
敲命令
對吧
4.1.1.2
對吧
拼通了
好吧
這有什麼可說的
如果說你這麼來想這個事的話
我覺得你不用你用這個CML了
因爲有更好的模擬器
比如說EVE對吧
其實會更好一些
你用這玩意就沒有意義了
注意那是要模擬器
其實CML我其實不認爲它是一個模擬器
理解嗎
如果說你做實驗
你需要模擬器
EVE這些模擬器也挺好的
好吧
那麼但是爲什麼我說CML它不是模擬器
看一下
這是思科的這些虛擬化設備
什麼叫虛擬化設備
你要了解
就是它不是模擬器
模擬器就是純粹做實驗用的
敲命令用的
好吧
它不能用於生產
它思科也不對外銷售的東西
就是不賣的東西
模擬器做實驗玩學習用的
好吧
那麼如果說你要做實驗
然後我覺得你用模擬器EVE這些模擬器
那絕對比這個好
那麼這個相當不好
因爲這個非常的費資源
那麼一個C8KV不給8G內存
4核CPU
好吧
如果說你可以看這個
你起個catalyst這個設備的話
可能要
它這好像要一個18G內存4核CPU
如果說你要做實驗
一個普通交換機
要一個普通軟件
學習交換的
普通軟件交換
你用CML你是瘋了嗎
好吧
你需要搞臺服務器
需要搞幾十G內存
然後去拉一個環境起來
而且只能拉5個
當然你給錢當然也會更多一些
好吧
完全沒有必要用了它
好吧
那我得解釋一下
爲什麼需要用到這個東西
它的主要的用途是什麼
爲什麼它會免費是
Sysco的Devlet贊助
那麼把CML的開發
開放了一個免費版本
5個節點
只能打5個節點起來
當然你給錢的話
多少個節點都是可以支持的
好吧
那麼我說一下
就是說首先它只有5個節點
然後又非常非常費資源
那你爲什麼
這是我重點要講的東西
好吧
就是說爲什麼
就是說
它不能做一個
敲命令的那種實驗不太合適
它是幹嘛用的
就是說
用來做自動化的
自動化有什麼好
好
我給你解釋一下
自動化
比如說你生產有一個環境
有很多路由器和交易機
那麼思科有個好處
就是生產的路由器和交易機
那麼它的模擬器都有
好吧
它生產的交易機
不就是開的歷史的9000
它生產的路由器
不就是開的歷史8000
對吧
生產有Fairport防火牆
生產有SD1
就是說它的生產的硬件設備
如果說你有硬件的話
好吧
那麼就有對應着
虛擬化的設備
OK
思科的虛擬化設備是非常靠譜的
幾乎就跟硬件沒有區別
各種特性
各種feature一模一樣
價格其實也沒有區別
如果說你要買的話
價格跟硬件
幾乎也沒有區別
別看它是虛擬化的
好吧
就是說
那麼這個東西有什麼用
就是說你可以通過這個玩
一比一的去拉一個
跟生產一比一一樣的
這麼一個
對標環境
那麼你拉這麼一個一比一的對標
環境有什麼用
就是說能夠實現
你是9000
我是9000V
你是8000
我是8000V
你是Fairport
我是Fairport V
OK
我拿一比一給你對上
這麼一個環境
完全可以跟你說
一比一的版本都是跟你一樣的
完全可以一模一樣做出來
好吧
有了這個環境之後
我們的自動化運維
你要知道
一般情況下
我們的網工不是很講究
就是說如果說要做變更的話
直接就往生產上面拿
但是這個會非常有風險
那麼打不好
網絡就給你搞崩了
路由就給你搞沒了
好吧
所以說
那麼既然我們玩自動化
其實我們就是玩的
跟那些開發
走的開發的路線
那麼也就說
未來一切就是接代碼
OK
一切接代碼
OK
那麼我們就可以通過這個代碼
然後拉一個一比一的環境起來
OK
然後在這個環境下面
我們把配置給它打上去
自動化的拉配置
自動化的拉Lab
自動化的打配置
自動化的做測試
就是環境自動拉配置自動打
然後測試自動做
然後在自動化的環境下面
把所有的東西都一比一的還原
配置一比一的配上去
然後測試全部
你測所有的細節
都給它測完
測完了之後
然後再向生產裏面打
這就叫做CI測試
CD去生產
好吧
就是這種感覺的這種東西
可以理解
好吧
所以說CML最大的特點
就是說要跟生產拉一個一比一的東西
版本都可以做到一比一的效果
好吧
然後自動拉環境
自動打配置
自動做測試
這是它的特點
好吧
好
那現在
它第一把拉
它比較費時間
所以說我這樣
我先給你先把它停止
然後再給它抹掉
再給它刪掉
OK
好
那這個我們可以先
第一次可能會有點慢
第一次是我們等的時間長一點
好吧
我們把東西打上去
好
我們看一下
應該就會出一個自動化的流水線
自動化的流水線
OK
然後它就會自動化的
就是我就執行了這個腳本
它會判斷這個實驗環境
有沒有這個實驗
有沒有這個Lab
如果沒有的話
我就導入
看一下
現在我們是不是就可以導入了
就有了
好吧
就導入
好
這是第1個操作
如果說已經導入了
這個時候我就看它有沒有開機
如果沒有開機
我就給它開機
看一下
好
其實你會發現
這其實就在開機了
好吧
好
你看這就一個一個都在開機
但是還得啓動
好吧
OK
好
然後如果說一切都沒問題
那這個時候如果開機了
那這個時候我就要等一個一個節點都起來
我要等待一個一個節點都能夠正常的起來
這個可能要稍等會
特別是第1把
可能會比較費時間
好吧
我們可以聊聊其他
就說
那麼再回來說
就說我們的CML的最大的特點
就是說能夠去拉一個1比1的這麼一個環境
就是說
假如說你們生產當中就有這麼一個環境
那好
我就按照你的東西
1比1給拉起來
注意全自動
包含你可以看這個文件
就是說如果說沒有
那麼我們就導入這個文件
來拉這個環境
看一下這個文件
可以
它這個就比較好
看它是全API的
完全用API打的
我能夠通過API把這個設備拉起來
能夠給它定義相應的CPU
內存和這個名字
而且可以把配置也給拉了
注意這個配置就直接用API打的
可不是說什麼
你像以前我們玩這種自動化的測試環境
我需要把虛擬機拉起來
然後我還手工上去給它打IP地址啓動
對吧
手工去做這些拉環境接線
然後給它打基礎配置
然後再去才能夠
我們後續才能夠去打配置
現在不需要
現在初始化的配置完全可以由環境自動拉
節點自動拉
配置自動給
初始化配置自動給你寫
OK
然後每一個接口
那麼都會有相應的一個接口ID
然後後續所有的這些
都會自動幫你把線連了三根線
C8KV到交換機
C8KV2到交換機
C8KV交換機到外部連接
對吧
它就自動的全自動幫你把它做了
OK
看一下
但現在可能還沒有起來
它起的確實有點慢
因爲它是一個
你可以認爲這就是個真機
它不是一個用來做實驗的模擬器
它肯定是會比較慢的
好吧
稍微等會
好
這個可能要反而等點時間
要等待所有的都起來了
好吧
然後緊接着我們來看一下
我們緊接着就會有一個
這是第1個
流水線的第1個任務
然後第2個任務就是來做配置
看一下
就是這個部分
我們就是用restconf這個目錄
restconf這個目錄
好
那麼你可以在這選
你要配
一共有4個接口
那麼你這個接口配C8KV地址
然後我都shutdown
好吧
其他接口就是保持默認
就不要管它
好吧
OK
好
然後緊接着
這是還要做個環衛口
環衛口
好吧
這注視的就是沒有
沒有
就是用環衛口
好吧
2號設備也是這些配置
然後做一些network宣告
network宣告
好吧
就最簡單的
就是有一個G1IP地址
然後有一個環衛口
然後宣告了G1口和環衛口
這是一個最簡單的OSPF
這是第2步
我們用restconf來幫我們去push
put
把它給推上去
把這些配置給推上去
OK
如果整個環境起來的話
推完了之後
這是第1個拉環境
第2個是推配置
第3個是做測試
那麼我們用思科的Pi ETS來做
這就是我們用Cisco的Pi ETS來做
好吧
我們要測什麼
我們看一下測的比較多
第1個
我先這是標準快照
就是我先做一個標準的快照
注意
爲什麼要用這種自動化測試
如果說你們的設備
接口也比較少
路由也比較少
但是我覺得人工就可以看了
肉眼就可以看
但是你在生產當中
可能路由會比較多
接口會比較多
特別是像BGP的話
都不是用幾十幾百幾千個路由
可能路由會更多
對吧
這個時候如果是用肉眼去弄
是很費勁的
所以說
我們需要一個自動化的分析工具
來自動的幫我們把
你看它會自動的
你只要很簡單
你用nerd interface OSPF平臺
它就會幫我們把接口的
interface全部弄出來
然後幫我們做結構化的解析
OK
弄出來幫我們做結構化的解析
然後你要去nerd OSPF
它會把各種OSPF
ship OSPF
protocol
OK
配置全部都幫你弄出來
而且幫你做結構化的解析
便於後續來做比較用
這可不是肉眼
就這麼點小配置
就這麼點破配置
真的是就這麼一點破東西
你看它都能幫你解析出了這麼多
如果說更多的話
你肉眼怎麼去比較
好吧
它能夠把每一個細節
看它會所有的秀配置
所有的這些東西
全部能秀的
全部給你秀了
然後給你做一個解析
然後後續這就是標準的
就是現在我們認爲這是對的
就應該有這麼些路由
路由應該長什麼樣
都OK
全部都記下來
這是一個標準配置
我提前做好了的
好吧
其實通過這種方法
那麼提前那
然後給它輸出到一個目錄
那麼我把目錄東西拷出來
其實就變這樣了
然後我現在就打了一版新的配置之後
我又再次輸出到一個目錄
然後我再把以前的目錄的
和新目錄的進行一個比較
看看它們有沒有什麼區別
通過這種比較
那麼是非常詳細的比較
包含所有的這些的比較
好吧
如果有區別的話
它會都會給你顯示出來
包含你看
它能夠幫你一查version
然後包含硬盤裏面的信息
如果說你有高可用性
高可用性
它會幫你看各種各樣的
全部幫你走一遍
看到了嗎
自動的全部幫你走一遍
做一個快照
未來只要跟這個不一樣
它就告訴你不一樣
哪不一樣
每一個細節都幫你弄出來
還有路由
比如說你正常
彼此學了一個路由
然後它會幫你解析
解決出來這個效果
然後如果說這個不一樣
多少路都會幫你來介紹
好吧
OK
我們來看一下
現在有沒有拉起來
現在你看都拉起來了
OK
首先我們先看一下
OK
我們可以看到
我們的基本配置有了
應該是配也幫我們配了
你看連OSPF也幫我配了
應該配置
第一步是拉
第二步是幫我們配
配了
OK
當然現在配的東西
其實就是我們現在
標準的快照記錄了
就是標準的
我們就是選擇了黃外殼
所以對方能夠學到黃外殼
這是一個標準的
所以說現在跟我快照來比較的話
就應該沒有區別
應該是沒有區別
我們看一下效果
正在做快照比較
稍等等
正在做快照的比較
比較
比較interface OSPF和平臺
這些記錄的信息比較大
然後比較
OK
然後再比較IP OSPF
show ip root OSPF
但是其實這是很多命令
然後結果的比較
看一下現在
首先接口全部一樣的
OSPF
全部一樣的
然後平臺全部一樣的
然後兩個路由比較
全部一樣的
好吧
OK
那就表示沒有任何問題
完全跟我們預期想要的東西
是一模一樣的
沒有區別
好
這個時候如果說現在要改配置
我們只需要說看一下
我們只需要去
加一個配置
加一個黃外殼1IP地址
然後OSPF我們加一個宣告
好吧
這個時候我們繼續
這個時候第二次
那就不要等這麼久了
這個等的太久了
好吧
等
不等了
好吧
因爲正常情況下
你拉起來之後
你要等一段時間
他機器才能夠比較正常
好
你再走一遍
這樣的話
當然了
他會再去幫你嘗試去拉環境
但其實這個就比較快了
因爲看一下
因爲如果說有Live的話
我們就不導入Live了
如果設備已開機了
我就不開了
那我只需要等待所有設備起來
因爲現在又都起來了
所以說第一關應該是比較好過的
第一關如果都過了
然後緊接着就是把我們新版的配置
我們新版的配置
多了環衛口
好吧
然後又多了一個宣告
在1號設備上面
好
在第一關已經過
好吧
然後現在第二關也過
很快就配了
好吧
我們來看一下
我們的
我們來看一下
好
我們看環衛口就有了一個新的
OK
有新的宣告
吹了新的路由
好吧
OK
看一下配也配完
我們來看一下它的比較
看看
這是自動幫我們做的
看看它能不能幫我找到
現在跟以前有些什麼樣的不一樣
這個劉威爾瑪
因爲它的學習的內容會比較多
它學習的內容比較多
包含了什麼
Interface
OSPF
平臺
剛纔可以看到了
每個東西都特別多
自動化幫我們做
就Interface這一大片
全部
OK
Accounting
就IP Interface
把所有的細節
全部幫你走一遍
好吧
好
現在看一下
那麼
這些
這個是不一樣
你看接口不一樣
這個明顯不一樣
好吧
OSPF
1
在1上面我們接口改了
所以接口不一樣
然後由於我們OSPF改了
所以OSPF不一樣
然後路由上面
從2上面看路由應該不一樣
好吧
它都幫我們把這些東西導出來了
這個時候我們就可以去下載
這個時候我們可以看一下
在1上面接口有什麼不一樣
因爲加了個防禦口1
是吧
OK
在1上OSPF有什麼不一樣
因爲防禦口1被放到OSPF裏去了
然後在2上面路由有什麼不一樣
因爲也取了一條新的路由
好吧
OK
好
如果說我說一下
如果覺得你現在這個挺好
我現在要的就是這個效果
確實就應該多
確實就應該做這些
好
這個時候你就可以把這兩個目錄
下面的這些文件
把現在目錄下面的文件給它替換掉
那麼就以你現在的爲準
好吧
OK
你把這些給替換掉
那麼就以現在的爲準
理解
這樣的話
你就可以去更新快照
我都專門給你導出了的
好吧
這樣的話
你能看到跟你以前有些什麼樣的
很細節的區別
好吧
當然你也可以覺得說
這個不好
好像不滿足我們的要求
爲什麼會出現這種故障
假如是故障
OK
這個時候你就可以去看一下
跟以前的版本的區別
你覺得好像4分鐘前好像還要好一些
這個時候你就可以去比較
不是4分鐘前
這應該是
你會覺得
Git
好
比如說我們是4分鐘前
你覺得還是當初的會好一些
OK
你覺得這個還是當初的好些
我還是恢復到以前的老版本
同樣的
你可以Git
可以看一下
14分鐘前
覺得還是老版本好一些
好吧
注意
你玩自動化
你可能可以理解
如果說你用SSH這種刷配置的話
輕鍵配置是很容易的
但是三配置是非常困難的
但是用RestConf
這完全沒有問題
你想加就
你要想加
你就加
你想減就減
完全
集代碼
所有的就是代碼
你只需要覺得現在還是這個好
那麼我們還是這樣比較好
好
你這樣的話
又幫你去走
當然了
注意沒有環境
它會自動幫你拉環境
沒環境自動拉環境
按照你所指定的要求
OK
自動的幫你把環境拉起來
自動的幫你把環境初始化好
這樣的話有了這個環境
然後而且我還會等待
全部都給你起來了
然後一切都準備好了
你再開始再往裏面去刷配置
刷完配置之後再去做測試
然後測試完了之後有報告
然後如果沒有問題的話
其實還應該有個故事
就是說有代碼的審覈和審批
然後去切到另外一個分支裏面去
往生產裏面去打
這才叫真正的意義上的
基礎架構集代碼和CIFD的效果
好吧
OK
好
看一下
這個時候又
當然由於拉起來了
所以都不用再拉
第一次會確實很慢
但是後續就沒有這個問題了
好吧
然後配也把你配了
然後又來看看
又來做比較
來看現在
現在繼續看
可以看一下
環維口1就沒有了
宣告就沒有了
這應該在這
環維口1就沒有了
看很輕鬆
只要坐視掉就沒有了
完全就是集代碼
好吧
然後路由
路由也就沒有了
好吧
這個時候我們再看一下
現在他幫我做比較
看看是不是跟以前
我變更之前
是不是一樣
在馬上就可以給你這麼一個效果
好吧
所以當然CML如何去搭建
其實還略微有點複雜的
李斌老師會給大家做一些更加底層的
一些搭建的介紹
我主要告訴你
這玩意是幹嘛用的
你不要認爲這東西是一個模擬器
來做實驗的
做路由交換普通實驗的
我覺得你用EV就挺好的
好吧
這個不是用來做普通實驗的
好吧
完全真的就是爲了跟生產環境
你要上一套環境
那麼你在模擬環境下面
跟他完全可以一比一的模擬
真的是要爲了上生產
做一個模擬環境
然後在模擬環境下面來
打配置做測試
測完了之後上生產
這真的是跟生產有關係的
好吧
而不是你檢驗單單我學個OSPF
那我這一個玩8個G
你個人電腦來得了嗎
你來不了
好吧
這個必須得是專門的公司
就專門搞服務器
所以說免費的
我覺得當然對我而言沒有問題
我就上課
專門來講自動化的
講這種測試的
我當然沒問題
上課我其實不影響我
好吧
但是如果說你真要用的話
還是要花錢買
因爲你生產很多設備
他這個有很多設備
你需要強大的服務器來拉這個環境
跟他一比一還原
OK
那你應該花錢買
這個好像也不算太便宜
我給你解釋一下
好吧
這也算是個產品
這個產品
這些都是產品
按理說都要花錢的
好吧
OK
好
看一下自動化
好
走完了
那麼你會發現都是一樣
好吧
一樣
OK
沒問題
那就你看
這告誡你
就是說沒有不一樣的東西
有一樣的東西
他就導出了
沒有的話
他就導不出來
好吧
OK
那好
這就是我們要講的CML和PyTX
是PyTX測試CML的環境
隨段的你要了解
這個玩意是用來
真正的用來在生產上生產
在做變更之前
拉一個跟生產一模一樣
設備一模一樣
版本一模一樣
所有東西都是一模一樣的
然後做測試上生產
是幹這玩意的
它不是用來做實驗的
做實驗
你瘋了
你用這個做實驗
又貴
又費資源
好吧
也不是
就是敲起來也挺彆扭的
好吧
OK
那我就講到這兒
希望能夠理解CML是什麼
當然李賓老師會給你介紹一個
更加詳細的內容
好吧
