玩轉NetDevOps

n 周六的時候去參加了SDNLAB在深圳舉辦的meetup: 網工不插線 — 教你玩轉NetDevOps。談談我的心得和收穫。

n 下面這個是當天的活動日程, 我主要聽了後面兩場。

為什麼參加這個meetup?

nn

n 近幾年sdn這個名詞的出現頻率越來越高, 好像人人都在談sdn。

n 我對sdn的最早的認識,源於我的第一份工作,從事網路自動化運維開發。 主要做了下面4個事情。 n

nnn

  1. 開發了一個網路自動化平台,這個平台是一個網路的集中化管理平台,已成為公司網路運維的核心系統。採用RabbitMQ和Celery構建分散式架構,基於Docker進行部署,與CMDB結合,資料庫則同時採用了MySQL和MongoDB。 功能涉及90%的網路操作, 包括開關埠,設置trunk, 切換VLAN,修改密碼,創建VLAN, VRF, Gateway,自動化上線,設備信息實時查詢與校驗,設備告警匯總,Web登錄設備等。
  2. n

  3. 設備配置管理工具, 對幾千台,11個品牌的網路設備(包括防火牆, LLB, 交換機等)的配置進行統一的管理, 提供配置的備份,下載,版本回看,變更歷史回溯,基線審查等功能。
  4. n

  5. 網路動態拓撲工具, 該工具用於動態構建網路拓撲和路由搜索,採用HTML5的canvas技術來展示拓撲圖,同時通過查找防火牆和VRF的介面和路由實現端到端的路徑搜索及展示。
  6. n

  7. 網路設備日誌秒級告警系統, 該系統主要通過實時分析日誌流, 對日誌進行聚合,同時對符合告警規則的日誌進行郵件和簡訊告警,用於解決故障發現嚴重滯後的問題。 系統提供了Web端和移動端, 採用了Kafka, MySQL, Nginx,Sencha Touch等技術。該系統主要用來幫助團隊縮短了排障時間, 縮短故障的發現時間。
  8. n

n 感覺當時能在一兩年里做出有價值的東西的還是蠻有成就感的。 現在想想, 很感謝當時網路組的領導和同事帶我走進NetDevOps的世界。 n

nnn

n 接下來的一份工作 ,接觸了和容器相關的工作, 調研kubernetes,並成功部署和落地。 中間遇到了很多網路的問題。 在容器領域,我認為網路的問題是最頭疼的問題, 最難的部分也是網路了。 kubernetes支持cni的網路模型, 可選的網路插件有flannel, calico,weave等等, 有的是基於vxlan的overlay網路,有的是基於三層路由協議的sdn網路。無論是網路選型,還是網路故障的排查, 都需要了解底層的網路原理。 事實上,我感覺自己重新和網路打起了交道。 n

nnn

n 報名這個meetup ,也是給自己充充電, 畢竟sdnlab舉辦的活動還是很有乾貨的。 聽完之後我也做了一些筆記,談談我的心得感受,個人水平有限, 歡迎拍磚。 n

nnn

一個網路老兵的自動化運維心路歷程

nn

n 上述的思維導圖是余欣講師演講的內容框架。我自己進行了整理,並且補充了監控和日誌這部分內容。

n 余欣講師作為一個17年的網路老兵, 對網路運維這塊有著豐富的經驗。他提到了一些網路自動化的建議, 對我而言,還是很有啟發的。

n 比如對於網路自動化運維不是一上來就寫代碼, 而是先把工作文檔化, 把手頭的工作先用文檔好好梳理, 記錄下來, 再看看這其中有沒有可以優化的地方, 再建立一些操作規範, 等這些工作做完之後再用代碼自動化處理這些重複的工作。

n 另外自動化運維可以先從腳本做起, 先寫一些小工具, 後面逐漸做成一個平台, 提供可視化操作的功能。

n 對於文檔的版本管理, 他提到各種文檔, 包括實施文檔, 拓撲圖等等的版本管理。 我這個也是蠻感興趣的, 最近也正在做這塊的事情。 excel和word雖然功能強大, 但是不利於協作和版本管理, 而且其實工程文檔用到的功能基本也是一些很基礎的編輯功能。 可以引入markdown來寫文檔, 一來功能基本夠用,上手也快,二來方便做版本管理和協作。另外推薦使用git做版本管理,能夠熟練使用git也算是網路工程師的一個加分項吧。

n 最後余欣講師提到要寫一本網路自動化運維的書, 還是蠻期待的。 市面上關於網路自動化運維的書太少了。

n 我自己也萌發了寫點東西的想法, 把之前關於網路自動化運維的一些心得還有寫過的腳本工具也分享出來。 在此, 先mark一下吧。 n

nnn

平安雲基於SDN的網路安全實踐

nn

n 平安雲的網路架構師陳書浩的演講也是乾貨滿滿。

n 演講嘉賓提到對於金融行業,防火牆開牆是一個非常繁瑣的事情, 而且需求又多又雜。 如果單靠人肉運維,不實現自動化, 那麼會讓你從痛不欲生到懷疑人生。 因此平安雲自研了一套網路自動化運維工具,叫 network service platform, 簡稱nsp。 這個工具基於openstack的neutron組件, 根據平安的業務場景, 做了很多的二次開發。

n 他用很多生動的例子講解防火牆自動化的痛點和實際的自動化場景。

n 演講中他也提到了基於iptables的分散式防火牆的設計, 以及iptables的一些基本原理, 內容很實在。 關於如何提高防火牆規則匹配的效率時, 他提到了ipset。 ipset是iptables的擴展, 它不像普通的iptables鏈是線性的存儲和過濾,它把ip集合存儲在帶索引的數據結構中,從而提高查找效率。 關於iptables的性能問題的疑問, 他也做了解答, 在平安雲實際生產場景並沒有產生瓶頸, 因為實際的iptables並沒有那麼多,在可控範圍之內。 他們做了性能測試, 實際的性能在可以接受的範圍內。 (他提到了測試的數據, 沒記住, 尷尬。。。)

n 演講最後,他給平安雲的微信公眾號打了個廣告, 平安雲網路技術團隊在公眾號發了8篇文章, 基本上描述了整個平安雲的網路技術體系, 感興趣的可以關注平安雲的公眾號"平安科技金融雲"。

aHR0cDovL3dlaXhpbi5xcS5jb20vci9lMFRIM3ktRWhuTDVyV3U4OXhGcA== (二維碼自動識別)

nnn

擴展閱讀

nn

n NetDevOps工程師技能圖譜v1.1n

SDN實戰團分享(十四):網路設備自動化遇到的問題與思考 | SDNLAB | 專註網路創新技術

nnn

軟體定義網路在攜程的運維實踐 - 運維派 n

nnn

360網路運維自動化演進之路 n

nnn

n [歡迎關注微信公眾號「雲時代的運維開發」,獲得最新的文章推送]


推薦閱讀:

【公開課】從小白到老鳥,你承受了多少摧殘
網路工程師如何避免走彎路(二)
【CCIE實驗】IPSec 配置案例
我的第一場知乎LIVE:網路工程師的進階之路
網路/安全/數據中心/虛擬化/職業規劃視頻教程(2018更新)【思科華為華三銳捷】

TAG:DevOps | 网络工程师 | Meetup |