Cable--新虛擬網路架構介紹
女主宣言
本文主要介紹為了統一管理不同編排系統的網路模組,簡化虛擬網路功能的開發流程,虛擬網路工作組實現的新虛擬網路架構--Cable。
前言
OpenStack架構中,Neutron作為虛擬網路模組,管理虛機的網路。隨著容器技術的發展,越來越多的應用部署到Kubernetes等容器編排系統中,而Kubernetes也有自帶的網路管理模組,如Flannel,Calico等。分別維護OpenStack、Kubernetes網路模組,不僅增加管理成本,且無法滿足虛機和容器網路互通等需求。為了統一管理不同編排系統的網路模組,簡化虛擬網路功能的開發流程,虛擬網路工作組實現了新的虛擬網路架構Cable。
背景簡介
目前公司的虛擬網路架構有如下不足:1 物理機、虛機和容器網路分開管理,無法達到直接互聯互通。2 Neutron agent裡的DHCP、metadata採用集中式服務,健壯性不足。3 vxlan實現時需要外部路由器的支援,較為複雜。
新的網路架構需要滿足統一管理物理機、虛機和容器網路,實現直接互聯互通;簡化Neutron agent,分散式架構實現DHCP、metadata等功能;在虛擬網路層面實現vxlan;提供流量映象等新功能。
方案實現
Cable整體框架圖
為了滿足上訴需求,Cable架構實現瞭如下兩個關鍵點
1 虛擬資料平面
虛擬資料平面不再基於OVS,而是採用功能更為豐富虛擬路由器vrouter.ko。vrouter.ko是Juniper的虛擬網路架構OpenContrail中的開源資料模組。相比於OVS的簡單資料包轉發,vrouter.ko支援虛擬網路路由、vxlan、流表配置安全組、流表配置nat/snat、流量映象等功能。豐富的資料平面功能,簡化了網路功能模組的開發難度。
2 自研管理平面
重新自研開發管理平面。管理平面統一管理OpenStack和Kubernetes網路模組;採用Kubernetes裡的watch方式,主動監控平臺資源變化情況,並執行相關操作;分散式實現DHCP;用vrouter.ko中的flow功能實現nat、安全組等。
Cable工作流程
當使用者請求到達Neutron Server後,Contrail Neutron Plugin將請求轉發至Cable的控制節點(Control Node)。控制節點的proxy轉換請求傳送至API,API將接收到的請求傳送至相應模組,其中controller負責具體的計算和分配工作,IPAM模組負責網路地址的管理。每臺計算節點部署了Cable agent,通過Rest API監聽Control Node的資源,如監聽到資源變化,則呼叫vrouter.ko執行相應請求(新增/刪除/修改網路資訊)。
與Openstack相容
Cable需要考慮如何與現有的虛擬網路結構相容,使得Neutron能夠平滑過渡到新的架構上。所以在保持Neutron原有介面不變的基礎上,將Neutron的db替換為etcd,並將DHCP-agent,metadata-agent,l3-agent替換為統一的cable-agent。將Neutron用Cable替代後,OpenStack的相關命令列和Restful API都沒有變化,實現無縫切換,方便運維管理。
Cable代替Neutron後架構圖
總結
新的虛擬網路架構,相容了不同網路平面,簡化了網路功能模組,使得網路更為健壯。目前Cable的整體架構已經基本開發完成,實現了DHCP、metadata和VLAN架構網路,後續將實現安全組、VXLAN等更多功能,並實現自動化部署,完善監控功能。
由360雲平臺團隊打造的技術分享公眾號,內容涉及資料庫、大資料、微服務、容器、AIOps、IoT等眾多技術領域,通過夯實的技術積累和豐富的一線實戰經驗,為你帶來最有料的技術分享
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555491/viewspace-2639612/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網路虛擬化VXLAN網路架構架構
- Cable:360實現的新虛擬網路架構架構
- Python虛擬環境介紹Python
- Orchard架構介紹架構
- OpenTelemetry架構介紹架構
- 以太坊虛擬機器介紹虛擬機
- 虛擬機器之介紹_2.0虛擬機
- 網路虛擬化之linux虛擬網路基礎Linux
- TiDB整體架構介紹TiDB架構
- KAFKA介紹(分散式架構)Kafka分散式架構
- Pixhawk系統架構介紹架構
- LNMP架構介紹與部署LNMP架構
- RAG系統架構介紹架構
- nginx介紹(二) 架構篇Nginx架構
- 網路晶片架構的新改變晶片架構
- 虛擬機器之linux介紹和命令虛擬機Linux
- 理解索引:HBase介紹和架構索引架構
- 介紹基於事件的架構事件架構
- Linux虛擬網路技術Linux
- Retrofit網路框架介紹框架
- 資料中心網路技術新貴:VXLAN與園區網路虛擬化
- Altair SimSolid功能介紹 無網格快速結構模擬 衡祖模擬AISolid
- Nginx 架構——【核心流程+模組介紹】Nginx架構
- UML 架構圖入門介紹 starUML架構
- Flume架構以及應用介紹[轉]架構
- BACnet初學者教程,第四章:介紹 BACnet 虛擬鏈路層
- 簡單介紹python虛擬環境 virtualenv的使用Python
- 虛擬機器網路啟用虛擬機
- 虛擬機器網路設定虛擬機
- Linux虛擬機器網路配置Linux虛擬機
- 網路虛擬化技術棧
- Linux 中的虛擬網路介面Linux
- 好程式設計師Java學習路線分享Dubbo架構介紹程式設計師Java架構
- 創新三層AI架構,打造智慧IP網路AI架構
- Java虛擬機器:JVM架構與垃圾回收Java虛擬機JVM架構
- 網際網路理想架構架構
- 神經網路簡介--啟用函式、網路架構、生物模型解釋神經網路函式架構模型
- 新興科技+網際網路創新大賽,青年創客專項賽介紹