讀古今文學網 > OpenStack系統架構設計實戰 > 4.3.8 業務處理流程簡述 >

4.3.8 業務處理流程簡述

租戶使用Neutron API來管理他們的網絡。Neutron API分為兩個部分:core(包含每個插件必須實現的最小基本功能集),extension(可選的,用戶可以用其實現特別的功能,如:ACL或QoS策略)。

1.創建網絡

如圖4-9所示是用戶使用Neutron API創建一個二層網絡的流程圖,Neutron會為用戶返回一個網絡標識符,並調用插件。

圖4-9 使用Neutron API創建的二層網絡

2.創建網絡並啟動虛擬機

用戶使用Neutron創建網絡,Nova創建一個連接到該網絡的VM。Nova在創建一個與Neutron相互作用的VM時,Neutron或Nova會首先創建一個邏輯Port,並將VM的網絡接口卡插入該Port。實例的IP地址不是由Neutron提供的。

此外,Nova或者顯式創建一個端口,或者指導Neutron將虛擬網卡插入網絡。在此情況下,Neutron將使用一個可用的邏輯端口或創建一個新的端口。如圖4-10所示是創建網絡並啟動虛擬機的流程圖。

具體操作流程如下:

1)用戶創建一個二層網絡,圖4-10中返回的網絡標識符是xyz。

圖4-10 創建網絡並啟動虛擬機

2)用戶使用雲控制器API創建一個VM(POST/服務器),並在VM的創建請求中為VM的虛擬NIC指定網絡。雲控制器會派遣調用給創建VM的Compute服務。

3)Compute服務告訴Neutron在xyz網絡中創建一個邏輯Port。

4)Compte服務指導Neutron插入VM的虛擬NIC到之前創建的Port;在請求主體中需提供NIC的標識符。Neutron調用Plugin來連接虛擬NIC到該邏輯網絡。該操作可能需要Plugin連接創建VM的Hypervisor,目的是根據Plugin採用的技術設置網絡。

5)用戶需要通過查詢xyz網絡詳情來驗證此次操作的是否成功。Neutron會為用戶返回一個網絡連接的配置列表,以及這些連接的狀態信息。

圖4-11顯示了在未創建邏輯端口的情形下,VM的虛擬NIC被插入Neutron網絡的第一個可用端口的情形。

3.創建多NIC的虛擬機

該情形與之前的情形十分相似,唯一的不同是創建的VM具有兩個虛擬NIC。Compute服務需要為每個虛擬NIC重複下面的操作:

·創建邏輯端口。

·插入虛擬NIC到邏輯端口。

圖4-12為Compute服務與Neutron間的交互流程圖。

圖4-11 未發起創建邏輯端口請求時的情形

圖4-12 Compute服務與Neutron的交互流程

4.為指定的虛擬NIC更改網絡

如果用戶想要將一個虛擬NIC從子網net1移動到子網net2中,如圖4-13所示。會涉及以下Neutron操作:

圖4-13 為指定的虛擬NIC更改網絡

·從網絡net1中撤離虛擬NIC。

·插入虛擬NIC到net2。

注意 插件可能不允許用戶從正在運行的VM中拔出虛擬NIC,否則會返回一段錯誤代碼給用戶。

5.刪除網絡

用戶想要刪除一個Neutron網絡和與其關聯的所有資源,如圖4-14所示。涉及以下Neutron操作:

·拔出所有與該網絡關聯的連接。

·銷毀網絡對象。

圖4-14 刪除Neutron網絡