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

從裸機到雲端:OpenStack Neutron 介紹

昨天為讀者介紹目前 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 有 L3(第 3 層)、DHCP(動態主機 IP 尋址)和 plug-in agent。

Message Queue

就如同 Nova 和其他大多數服務一樣,元件中的溝通是透過 Message Queue,OpenStack Networking 透過它來在 neutron-server 和各種 agents 之間交換路由訊息。還充當資料庫來存儲特定 plug-in 的網絡狀態。

OpenStack Networking 主要與 OpenStack Compute 一起使用,為其 Instance (Nova VM) 提供網路連線。

Neturon 提供的服務

Neutron 提供了網路虛擬化的服務,在 OpenStack 上建置一個 overlay network 的功能,主要提供以下服務

  • 交換器:提供同一網段的 VM L2 的連通性
  • 路由器:提供 L3 網路功能,SNAT, DNAT 等
  • 防火牆:提供基本防火牆,port blocking 等
  • 負載平衡:提供 load balancer,不過這個功能目前已經轉移到透過 Octavia 實現,在 Queens 版本已經被標記為 deprecated。

其概念主要跟一般實體設備一樣,不過在 OpenStack 中透過軟體達成的。

小結

本次介紹了 Neutron 其中的元件以及提供的功能,下一篇將會介紹 Neutron 中的一些基本概念和名詞。


Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.