從裸機到雲端:OpenStack Neutron 介紹 — OVN vs OVS

Auto Draft

上一篇講述了 OVN Plug-in 在 OpenStack 中的參考架構,本篇要來比較在 OpenStack Neutron 中使用 OVN 跟 OVS 的主要差異 架構面 這個從官方 FAQ 中翻譯的表格可以很清楚的看出 OVN 跟 OVS 的架構面差異 項目 ml2/ovs ml2/networking-ovn agent/server 之間的溝通 RabbitMQ message + RPC NorthBound 跟 SouthBound databases 之間的 ovsdb protocol l3HA API 在 deployment 的時候可以設定 router 中的 ha field 以便開啟或關閉 l3HA 在有多個 network node 時自動開啟 HA 功能 DVR […]

從裸機到雲端:OpenStack Neutron 介紹 — OVN 架構

從裸機到雲端:OpenStack Neutron — OVN Plug-in 架構

上篇介紹了 OVN,本篇要來進入 OVN Plug-in 在 OpenStack 中的參考架構。 架構布局 參考架構中將 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 […]

從裸機到雲端:OVN 介紹

Auto Draft

前幾篇筆者介紹了 OpenStack 在使用 Linux Bridge 和 Open vSwitch plug-in 下的相關架構,這篇我們要來介紹一個比較新,架構比較不一樣的 Neutron Plug-in,OVN。 Overview OVN 可以說是一個透過 OVS 建立虛擬網路的分散式 SDN controller。以下回一些 OVN 所能提供的功能 透過 L2 跟 L3 overlays 為 OVS 提供一個抽象層,同時可以管理與實體網路的連接 支援利用 OVS connection tracking 實現的靈活 ACL 支援透過 OVS flow 實現的分散式 L3 路由,同時支持 IPv4 和 IPv6 利用 OVS connection tracking 的 NAT 跟 Load balancing 分散式的 DHCP […]

從裸機到雲端:OpenStack Neutron 介紹 — OVS Self-service Networks

Auto Draft

上篇介紹了 Open vSwitch with Provider Networks 的架構及封包流向,今天這篇會來介紹 Open vSwitch with self-serivce networks。 Open vSwitch: Self-service Networks 架構 上圖為 Open vSwitch – Self-service networks 架構下的整個架構總覽,可以看到那些元件是跑在 controller node 上,哪些是在 compute node 上,哪些是在 network node 上。 這張圖畫出了在單一 untagged (flat) provider network 和單一 self-service networks 下其中所使用的的元件是怎麼串接的。在這個範例中 Instance 跟 DHCP agent 是在同一台的,但是在實際狀況下 DHCP agent 有可能是在其他 compute node 上。 Traffic Flow […]

從裸機到雲端:OpenStack Neutron 介紹 — OVS Provider Networks

從裸機到雲端:OpenStack Neutron 介紹 — OVS Provider Networks

上篇介紹了 Neutron 使用 Linux Bridge plug-in 在不同狀況下的架構以及流向,接下來幾天會介紹 OVS plug-in 時的架構以及流量是怎麼流的。首先第一篇筆者會先來介紹 Open vSwitch with Provider Network。 Open vSwitch: Provider networks 架構 上圖為 Linux Bridge – Provider Networts 架構下的整個架構總覽,可以看到那些元件是跑在 controller node 上,哪些是在 compute node 上。 這張圖畫出了在單一 provider network (untagged/flat) 下 compute node 中的元件是怎麼串接的。在這個範例中 Instance 跟 DHCP agent 是在同一台的,但是在實際狀況下 DHCP agent 有可能是在其他 compute node 上。 在有多個 Provider networks […]

從裸機到雲端:OpenStack Neutron 介紹 — Linux Bridge – Self-Service Networks

Auto Draft

上篇介紹了 Linux Bridge with Provider Network 的架構及封包流向,今天這篇會來介紹 Linux Bridge with self-serivce networks。 Linux bridge: Self-service Networks Self-service networks 提供使用者幾乎無限數量的虛擬網路。 Neutron 雖然有支援 VLAN self-service networks,但本例以 VXLAN self-service networks 為例。 架構 上圖為 Linux Bridge – Self-service networks 架構下的整個架構總覽,可以看到那些元件是跑在 controller node 上,哪些是在 compute node 上,哪些是在 network node 上。 這張圖畫出了在單一 provider network 下 self-service networks 中所使用的的元件是怎麼串接的。在這個範例中 Instance 跟 DHCP […]

從裸機到雲端:OpenStack Neutron 介紹 — Linux Bridge Provider Networks

從裸機到雲端:OpenStack Neutron 介紹 — Linux Bridge 1

上篇介紹了 Neutron 的架構,再接下來幾天會介紹 Neutron 使用 Linux Bridge 跟 OVS plug-in 時的架構以及流量是怎麼流的。首先第一篇筆者會先來介紹 Linux Bridge with Provider Network。 Linux bridge: Provider networks Provider network 架構示例使用 VLAN (802.1q) tagging 在實例 (instance) 和實體網路基礎設施之間提供 L2 連接。 它支援一個 non-tagged(扁平)網路和多達 4095 個 tagging (VLAN) 網路。 VLAN 網路的實際數量取決於物理網絡基礎設施。 架構 上圖為 Linux Bridge – Provider Networts 架構下的整個架構總覽,可以看到那些元件是跑在 controller node 上,哪些是在 compute node 上。 這張圖畫出了在單一 […]

從裸機到雲端:OpenStack Neutron 介紹 3

Auto Draft

上一篇介紹了 Neutron 的網路的概念,接下來將會接續介紹 Neutron 的一些名詞。 Neutron 概念 (名詞) Subnets (子網) Subnets 是一組 IP 地址和其相關的設定狀態,其功能是為 provider/project networks 提供 IPAM(IP 地址管理)的功能。 子網用於在網絡上創建連接埠時分配 IP 地址。 Subnet pools 使用者通常可以使用任何有效的 IP 地址創建子網,而沒有其他限制。 但是,在某些情況下,管理員或 project 會希望預先定義一個地址池 (IP address pool),使在創毽子網的時候自動分配一段地址。在一些狀況下管理員可能想避免 IP 地址重複,就可以使用 subnet pools 防止來自同一池的兩個子網的地址重複。 Port (連接埠) 連接埠是將單個設備(例如虛擬伺服器的 NIC)連接到虛擬網路的連接點。 該連接埠還描述了相關的網路設定,例如要在該連接埠上使用的 MAC 和 IP 地址。 路由器 (Router) 路由器提供虛擬的 L3 功能,例如self-service 跟 provider 網路之間或是 […]

從裸機到雲端:OpenStack Neutron 介紹 2

Auto Draft

上一篇介紹了 Neutron 的架構,接下來兩篇將會接續介紹 Neutron 的一些概念和名詞。 Neutron 概念 Neutron 提供使用者創建網路跟其子網域,並可將其他 OpenStack 服務(如 Compute)將虛擬設備連接到這些網路上的端口,通常最常見的就是連接 Instance 到網路。Neutron 支援每個 project 擁有多個私有網絡,並允許 project 選擇自己的 IP addressing 方案,並且不同網路中的 IP 地址與其他 project 使用的 IP 地址重疊。 有兩種類型的網絡,provider network 和 self-service network,這些網路是可以在 project 之間共享的。 Provider Networks Provider networks 為實例 (Instance) 提供 L2 網路連結,並支援 DHCP 和元數據 (metadata) 服務。 這些網路是連接到資料中心現有的 L2 網路,通常使用 VLAN (802.1q) tagging 來識別和隔離它們。 […]

從裸機到雲端:OpenStack Neutron 介紹 1

Auto Draft

昨天為讀者介紹目前 OpenStack 中算是最核心的元件,Keystone,今天來介紹 OpenStack 筆者認為最複雜的原件,Neutron,也是 OpenStack 提供網路服務的元件。 Neutron 架構 OpenStack Networking (neutron) 允許您創建網路介面 (network interface) 並接上其他 OpenStack 元件管理的服務 (如 Nova VM),使其能夠連接到網絡。可以透過不同的後端 plugin 去因應不同的網絡設備和軟體,為 OpenStack 架構和部署提供靈活性。 它包括以下組件: Neutron-server 接受 API 請求並將其路由到適當的 OpenStack Networking 插件以進行操作。 OpenStack Networking 後端 plug-ins 和 agents 插入和拔除端口,創建網絡或子網路,並提供 IP 位置。這些 plug-ins 和 agents 根據不同的雲中使用的供應商和技術而異。常見的 plug-ins 為 OVS, Linux Bridge 和 OVN,後續會介紹其架構。 常見的 agents […]