1. 程式人生 > >每天5分鐘玩轉 OpenStack(65)

每天5分鐘玩轉 OpenStack(65)

從今天開始,我們將學習 OpenStack 的 Networking Service,Neutron。
Neutron 的難度會比前面所有模組都大一些,內容也多一些。
為了幫助大家更好的掌握 Neutorn,CloudMan 也會分析地更詳細一些。

Neutron 概述

傳統的網路管理方式很大程度上依賴於管理員手工配置和維護各種網路硬體裝置;而云環境下的網路已經變得非常複雜,特別是在多租戶場景裡,使用者隨時都可能需要建立、修改和刪除網路,網路的連通性和隔離不已經太可能通過手工配置來保證了。

如何快速響應業務的需求對網路管理提出了更高的要求。傳統的網路管理方式已經很難勝任這項工作,而“軟體定義網路(software-defined networking, SDN)”所具有的靈活性和自動化優勢使其成為雲時代網路管理的主流。

Neutron 的設計目標是實現“網路即服務(Networking as a Service)”。為了達到這一目標,在設計上遵循了基於 SDN 實現網路虛擬化的原則,在實現上充分利用了 Linux 系統上的各種網路相關的技術。

在這一章,我們將討論 Neutron 的功能和它的各個元件,學習部署和配置 OpenStack 網路的不同方法,會涉及軟體和硬體裝置多個層面。

Neutron 功能

Neutron 為整個 OpenStack 環境提供網路支援,包括二層交換,三層路由,負載均衡,防火牆和 VPN 等。Neutron 提供了一個靈活的框架,通過配置,無論是開源還是商業軟體都可以被用來實現這些功能。

二層交換 Switching

Nova 的 Instance 是通過虛擬交換機連線到虛擬二層網路的。

Neutron 支援多種虛擬交換機,包括 Linux 原生的 Linux Bridge 和 Open vSwitch。
Open vSwitch(OVS)是一個開源的虛擬交換機,它支援標準的管理介面和協議。

利用 Linux Bridge 和 OVS,Neutron 除了可以建立傳統的 VLAN 網路,還可以建立基於隧道技術的 Overlay 網路,比如 VxLAN 和 GRE(Linux Bridge 目前只支援 VxLAN)。

在後面章節我們會學習如何使用和配置 Linux Bridge 和 Open vSwitch。

三層路由 Routing

Instance 可以配置不同網段的 IP,Neutron 的 router(虛擬路由器)實現 instance 跨網段通訊。router 通過 IP forwarding,iptables 等技術來實現路由和 NAT。

我們將在後面章節討論如何在 Neutron 中配置 router 來實現 instance 之間,以及與外部網路的通訊。

負載均衡 Load Balancing

Openstack 在 Grizzly 版本第一次引入了 Load-Balancing-as-a-Service(LBaaS),提供了將負載分發到多個 instance 的能力。LBaaS 支援多種負載均衡產品和方案,不同的實現以 Plugin 的形式整合到 Neutron,目前預設的 Plugin 是 HAProxy。

我們也將在後面章節學習 LBaaS 的使用和配置。

防火牆 Firewalling

Neutron 通過下面兩種方式來保障 instance 和網路的安全性。

Security Group
通過 iptables 限制進出 instance 的網路包。

Firewall-as-a-Service
FWaaS,限制進出虛擬路由器的網路包,也是通過 iptables 實現。

我們將在後面章節詳細討論 Security 和 FWaaS。

下一節我們會討論 Neutron 網路涉及的一些基本概念,便於後面深入學習。