本系列文章同步發布於筆者網站
昨天為讀者介紹目前 OpenStack 中算是最核心的元件,Keystone,今天來介紹 OpenStack 筆者認為最複雜的原件,Neutron,也是 OpenStack 提供網路服務的元件。
OpenStack Networking (neutron) 允許您創建網路介面 (network interface) 並接上其他 OpenStack 元件管理的服務 (如 Nova VM),使其能夠連接到網絡。可以透過不同的後端 plugin 去因應不同的網絡設備和軟體,為 OpenStack 架構和部署提供靈活性。
它包括以下組件:
接受 API 請求並將其路由到適當的 OpenStack Networking 插件以進行操作。
插入和拔除端口,創建網絡或子網路,並提供 IP 位置。這些 plug-ins 和 agents 根據不同的雲中使用的供應商和技術而異。常見的 plug-ins 為 OVS, Linux Bridge 和 OVN,後續會介紹其架構。
常見的 agents 有 L3(第 3 層)、DHCP(動態主機 IP 尋址)和 plug-in agent。
就如同 Nova 和其他大多數服務一樣,元件中的溝通是透過 Message Queue,OpenStack Networking 透過它來在 neutron-server 和各種 agents 之間交換路由訊息。還充當資料庫來存儲特定 plug-in 的網絡狀態。
OpenStack Networking 主要與 OpenStack Compute 一起使用,為其 Instance (Nova VM) 提供網路連線。
Neutron 提供了網路虛擬化的服務,在 OpenStack 上建置一個 overlay network 的功能,主要提供以下服務
其概念主要跟一般實體設備一樣,不過在 OpenStack 中透過軟體達成的。
本次介紹了 Neutron 其中的元件以及提供的功能,下一篇將會介紹 Neutron 中的一些基本概念和名詞。