上篇介紹了 OVN,本篇要來進入 OVN Plug-in 在 OpenStack 中的參考架構。
Table of Contents
架構布局
參考架構中將 OVN 元件拆分成 4 個不同種類的節點各自負責不同任務
Controller Node
Controller node 主要提供以下功能:
- 1 個 management interface
- 認證服務 (Keystone)
- 映像檔服務 (Glance)
- 透過 OVN ML2 mechanism driver 進行網路管理 (control plane)
- 運算資源管理 (Nova control plane)
Database Node
Database node 主要負責 OVN 相關 databse,包含以下元件:
- 1 個 management interface
- ovn-northd
- OVN northbound database
- OVN southbound databse
Compute Node
Compute node 包含以下元件:
- 2-3 個 interface,提供給 management, overlay, 跟 provider networks
- Nova-compute
- Hypervisor (KVM)
- ovn-controller
- ovs-vswitchd
- ovsdb-server 跟 OVS local configuration (conf.db) database
- ovn-metadata-agent
Gateway Node
Gateway node 包含以下元件:
- 3 個 interface,提供給 management, overlay, 跟 provider networks
- ovn-controller
- ovs-vswitchd
- ovsdb-server 跟 OVS local configuration (conf.db) database
硬體布局
硬體布局可以參考官方文件的圖片,大致了解一下各個節點的最低需求。
軟體布局
官方文件圖片的軟體布局裡面介紹了各個節點中跑了哪些 process,這些 process 只有列出跟 OVN 比較相關的,其他服務如 Keystone 等沒有列在上面。
注意這只是官方參考架構,在節點數不夠多時可以將一些元件跑在同一個節點上。
OVN 整合的 OpenStack 網路
部屬出來的 OpenStack 網路架構大致上長這樣:
使用 networking-ovn 時,穿過虛擬路由器的所有東西向流量流量都是完全分散式的,是從 compute node 直接到 compute node,不需通過 network node,這減少了一些 latency 以及可能的 bottleneck。
需要 SNAT(無 floating IP)的南北流量將會需要通過 gateway node,當你有多個 gateway node 的時候,OVN 有內建的 HA 讓你在其中一個 node 下線時網路不會被影響。
Floating IP 的部屬方式又分為下兩種:
Centralized Floating IPs
在這個架構下,所有的透過路由器的南北向流量都會通過 gateway node,compute node 可以不需要有跟對外網路溝通的能力。
Distributed Floating IPs (DVR)
在這種架構下,Floating IP 南北向流量會通過特定的 provider network bridge 直接從 compute node 出去。 在這種情況下,compute node 需要有對外網路連結。
每個計算節點都包含以下元件:
同時你可以有多個不同的 provider bridge 連接到不同的 provider network。
小結
以上大概就是利用 OVN 提供 OpenStack Networking 時的整個網路架構,在下一篇我們會快速的比較在 OpenStack 中使用 OVN 跟 OVS 的差別。
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.