|NO.Z.00015|——————————|CloudVirtualiZation|——|OpenStack&元件.V02|--------------------------|OpenStack-neutron|元件說明.V02|
阿新 • • 發佈:2022-03-27
[CloudVirtualiZation:OpenStack&元件.V02] [Applications.CloudVirtualiZation] [|OpenStack|OpenStack.neutron|網路基礎概念|neutron元件架構|構建neutron|配置network節點|建立網路]
一、Neutron:
### --- Neutron: ~~~ 阿里雲採用的最新的neutron方案,網易雲採用的是舊的FLAT的方案, ~~~ 網易雲用過硬體補充實現了公有云的網路方案。
### --- Nova-network:
~~~ Flat
~~~ Flatdhcp
~~~ Vlan
二、FlAT
三、FLATDHCP:### --- FlAT ~~~ 指定一個子網,規定虛擬機器能使用的IP地址範圍: ~~~ 建立例項是,從有效IP地址池獲取一個IP,為虛擬機器例項分配, ~~~ 然後在虛擬機器啟動時候注入虛擬機器映象(檔案系統) ~~~ 手動配置好網橋,所有的系統例項都是和同一個網橋連線,網橋連線的例項組成一個虛擬網路, ~~~ 網路控制器對虛擬機器例項進行NAT轉換,實現與外部的通訊 ~~~ 目前配置注入只能對類UNIX作業系統正常工作
### --- FLATDHCP:FLANT網路加了一個DHCP的功能
~~~ 網路控制器執行dnsmasp(功能比較少,軟體也比較小,centos中紅帽比較推薦的dns服務;
~~~ 比較經典)作為DHCP伺服器監聽這個網橋
四、Vlan
五、存在問題### --- Vlan ~~~ 每個使用者分配一個Vlan,每個使用者建立的網路介面在同一個Vlan中 ~~~ 每個使用者分配一個網段,網路控制器上的DHCP伺服器為所有的Vlan分配地址 ~~~ 解決了隔離問題,但是Vlan限制為4096個,符合私有云 ~~~ 有一個限制,Vlan只能分配4096個,也就意味著只能有4096個使用者,所以只能針對於私有云, ~~~ 對於公有云是不可以實現的。
### --- 存在問題
~~~ 傳統橋接模式
~~~ # 使用者不能自定義網路:
~~~ 不能自定義網段,IP地址還是可以自定義的。
~~~ 網路隔離
~~~ 大規模部署
六、需求:
基礎需求 | 企業級需求 |
高密度 | 自定義網路 |
多租戶 | QoS保證 |
大規模擴充套件 | 防火牆 |
虛擬機器的可移動性 | 監控,審計 |
資源管理自動化 | 流量控制 |
低成本實現(後期擴充套件) |
### --- Neutron基本概念
~~~ # 網路連線服務
~~~ 面向租戶API介面,用於建立虛擬網路/路由器/負載均衡/關聯/
~~~ 網路介面至指定網路和路由器通過API介面管理虛擬機器或物理交換機
~~~ 提供Plugin架構來支援不同的技術平臺
~~~ Neutron Private Network——提供固定私網地址:主要的部署方式。
~~~ Neutron Public Network ——提供浮動IP地址:主要的部署方式
八、Neutron關鍵概念
### --- Neutron關鍵概念
~~~ # Network:
~~~ 可用網路,二層介面,二層單元,二層API,使用者可以通過API建立自己的網路的。
~~~ # 一個L2網路單元
~~~ 租戶可通過Neutron API建立自己的網路
~~~ # Subnet:
~~~ IPV4/IPV6的地址段,內的描述。
~~~ 一段IPV4/IPV6地址段
~~~ 為Instance提供私網或公網地址
~~~ network講的是一個地址段;subnet是對具體的範圍
~~~ # Router
~~~ # 三層路由器
~~~ 為租戶的Instance提供路由功能
~~~ # Port:埠,傳統的埠是網絡卡插入的地方。
~~~ 在openstack中也有埠的概念。
~~~ 虛擬交換機上的埠
~~~ 管理Instance的網絡卡
九、概念間的對應關係
### --- 概念間的對應關係
~~~ 一對多的關係,
~~~ 地址和subnet之間是一對多的關係
~~~ subnet和路由器之間是一對多的關係;路由器和subnet之間是可以重疊連線的。
~~~ 一個網路只能有一個網路介面,一個介面可以有多個網路。
十、Neutron元件架構### --- Neutron元件架構
~~~ neutron server服務端
### --- virtual switch代理端:
~~~ 每臺主機都有一個virtual switch,而且是唯一的,
~~~ 它是在當前主機之間進行網路實現的元件,它也是一個控制模組。
十一、Neutron Plugin:neutron是通過外掛管理器構建的。
### --- Neutron Plugin:neutron是通過外掛管理器構建的。
~~~ Open VSwitch:最常用的;開源專案,軟體級別的實現二三層網路,流控,監控都是可以實現的
~~~ Linux Bridge:最常用的
~~~ CISO NX1000:
~~~ Nicira NVP:
~~~ Ryu:
~~~ NEC OpenFlow:
~~~ Floodnight:
十二、Neutron+Nova架構
### --- Neutron+Nova架構
~~~ dashboard autonation tools儀表盤套件,輸入對應的指令會通過自動工具的整理,
~~~ 通過每個租戶的API介面去訪問到不同的網路
~~~ 通過網路操作的話,neutron接收到之後,通過neutron plugin去實現,
~~~ 通過internal plugin communication訊息佇列,
~~~ 代理到VSwitch或者通知到VSwitch,VSwitch在當前節點再進行處理。
~~~ 指令會被nova-api回收,nova-api若是建立主機的話會被nova-scheduler排程,
~~~ 在nova-compute節點上,相當於一個代理節點,去觸發nebvrrt,再去觸發hypervisor,
~~~ 再去建立對應的虛擬機器vm
十三、Neutron元件-1
### --- Neutron元件-1
~~~ neutron server:主要實現neutron API和API的擴充套件,
~~~ 對外暴露,以及能夠實現接入第三方的網路,
~~~ 管理網段及資源池的對應
### --- 管理port的ip地址:
~~~ ML2在我們每個nova節點或者compute節點進行IP地址分配的:對應了一個network節點
~~~ DHCP agent通過dnsmasp來實現的,而不是dnsserver實現的
~~~ L3-agent實現三層特性,或者負載均衡:ML若是計算節點有多個network,ML3就對應了多個。
~~~ # Metadata-agent:
~~~ 提供一些網路連線狀態,或者網路資訊都是它在提供。
十四、Neutron元件-2
### --- Neutron元件-2
~~~ # 客戶端傳送指令:
~~~ 客戶端介面,或者命令列管理工具,發起建立一個網路的請求
~~~ 這個請求或通過會發送到neutron server上,會進行keystone的身份認證,會返回network 的UUID,
~~~ 再發起建立虛擬機器,或者例項的請求,例項建立後也會返回一個UUID,
~~~ 再去把網路傳送當前虛擬機器網路介面的UUID,再返回給這個為虛擬機器建立介面的ID號,
~~~ 然後再拿著這個虛擬機器介面的ID號,去和網路繫結,然後返回UUID號,
~~~ 然後再去把網路新增至我們的端點進行繫結操作即可,完成元件構成。
十五、ML2
### --- ML2
~~~ 左邊是實現的協議,
~~~ 右邊是實現這些協議使用的軟體,
~~~ ML2外掛可以做到Vlan級別的隔離,GRE/VXlan的網路FLAT的網路
十六、ML2構建模式
### --- ML2構建模式
~~~ 左邊的一個是所謂的管理端
~~~ 右邊兩個是nova節點
~~~ 在不同的元件上開啟的服務是不同,
~~~ 每臺主機都會有一個ml2的agent,代理端,
~~~ 它的管理端就會出現在管理端上
十七、Neutron
### --- Neutron
~~~ Single FLAT Network
~~~ Multi FLAT Network
~~~ Mixed FLAT and Private Network
~~~ Provider Router with Pricate Network
~~~ Per-tenant Routers with Private Network:最常用的,最有意義的部署方案;
~~~ 能為每個租戶建立租戶的單獨的路由,實現網路連通,非常的有意義,現在企業60%都會採用這種方案
### --- Single FLAT Network
~~~ 類似於Flat Manager Flat DHCP Manager 不支援Floating IP
~~~ 不支援不同網段的隔離
~~~ 存在安全性隱患,地址實現通過DHCP,
~~~ 不支援浮動IP
### --- Muliple FLAT Network
~~~ 類似於Flat Manager Flat DHCP Manager不支援Floating IP
~~~ 支援不同網段的隔離
~~~ 不支援浮動IP
### --- Mixed FLAT and Private Network
~~~ 實現了floating的地址分配
~~~ 可以實現主機這個虛擬機器的公網的訪問,
~~~ 也就意味著一臺虛擬機器上有多個IP,一個IP是用於使用者之間服務的相互訪問,
~~~ 另一個可以分配一個浮動IP,可以用作公網地址,可以通過公網地址去訪問了,
~~~ 這種型別可以在正常的環境中去使用了,且不需要進行相關的配置
~~~ 前面兩種也可以進行公網的訪問,不過要在路由器上進行大量的轉換。
### --- Rrovider Routers with Private Network
~~~ neutron中特別關注的模式
~~~ 有一個共同的路由器(虛擬的),且有浮動IP,不同的租戶都會使用一個共同的路由器,
~~~ 同一個路由器可以去繫結多個私有IP,這裡的私有IP對於虛擬機器來說是公有的。
~~~ 這裡的虛擬機器可以通過虛擬的交換到我們的浮動網路到我們的路由器到外部去通訊的。
~~~ 且租戶用的是同一個路由,不太友好。
### --- Per-Tenant Routers with Private Network
~~~ 生產環境中用的最多的。
~~~ 不同的租戶有各自的路由,且一個租戶下可以是存在多個網段的,
~~~ 每個主機會放在一個網段或者多個網段內,
~~~ 然後再去通過租戶自己的路由器到浮動網路,再到外部去通訊,
~~~ 這是到今天為止是最有意義的網路構建型別,後期構建的就是這種網路型別。
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)