上一節我們完成了 OVS 的准備工作,本節從最基礎的 local network 開始學習。
local network 不會與宿主機的任何物理網卡連接,流量只被限制在宿主機內,同時也不關聯任何的 VLAN ID。
創建第一個 local network
下面我們通過 Web GUI 創建 local network。
進入菜單 Admin -> Networks,點擊 “Create Network” 按鈕。
顯示創建頁面。
“Provider Network Type” 選擇 “Local”,點擊 “Create Network”,first_local_net 創建成功。
點擊 first_local_net 鏈接,進入 network 配置頁面,目前還沒有 subnet,點擊 “Create Subnet” 按鈕。
設置 IP 地址為 “172.16.1.0/24”。
點擊 “Next”。
勾選 “Enable DHCP”,IP 池設置為 “172.16.1.2,172.16.1.99”。 點擊 “Create”,subnet 創建成功。
同時 devstack-controler 針對此 subnet 的 DHCP 服務也已經 Active。
底層網絡發生了什么變化?
創建 OVS local network 的過程與 Linux Bridge 沒有什么區別。
這是因為 Neutron 已經對不同 driver 進行了抽象,但底層實現肯定是有區別的。
所以,接下來我們要搞清楚底層網絡有了哪些變化?
打開控制節點的 shell 終端,用 ovs-vsctl show 查看當前 Open vSwitch 的狀態。
可以看到 Neutron 自動在 br-int 網橋上創建了 port “tap7970bdcd-f2”。
從命名可知,該 port 對應 local_net 的 dhcp 接口。
與 linux bridge driver 一樣,dhcp 設備也是放在命名空間里的。
目前網絡結構如下圖所示:
下節我們會部署 instance 到 first_local_network 並再次觀察這張網絡拓撲圖的變化。