Openstack組件部署 — Netwotking service組件介紹與網絡基本概念

版權聲明:轉載請註明出處 JmilkFan:http://blog.csdn.net/jmilk

目錄



前文列表

Openstack組件部署 — Overview和前期環境準備 
Openstack組建部署 — Environment of Controller Node 
Openstack組件部署 — Keystone功能介紹與認證實現流程 
Openstack組件部署 — Keystone Install & Create service entity and API endpoints 
Openstack組件部署 — keystone(domain, projects, users, and roles) 
Openstack組件實現原理 — Keystone認證功能 
Openstack組建部署 — Glance Install 
Openstack組件實現原理 — Glance架構(V1/V2) 
Openstack組件部署 — Nova overview 
Openstack組件部署 — Nova_安裝和配置Controller Node 
Openstack組件部署 — Nova_Install and configure a compute node 
Openstack組件實現原理 — Nova 體系結構

Openstack Networking serivce

OpenStack Networking (neutron) allows you to create and attach interface devices managed by other OpenStack services to networks. Plug-ins can be implemented to accommodate different networking equipment and software, providing flexibility to OpenStack architecture and deployment.

OpenStack Networking service,項目代號Neutron,能夠讓我們創建、插入接口設備,這些接口設備由其他的OpenStack service來管理。Plug-ins(插件式)的實現可以容納多種不同的網絡設備和軟件,爲OpenStack架構與部署提供了靈活性。

Neutron包含有以下組件

  • neutron-server:接收和路由API request到合適的OpenStack Network Plug-ins,以達到預想的目的。

  • OpenStack Networking plug-ins and agents(網絡插件和代理):創建網絡和子網、提供IP地址、插拔端口,這些Plug-ins和agents都根據不同的供應商和技術而不同。基於Plug-ins和agents的OpenStack network,爲Cisco虛擬交換機或物理交換機、NEC OpenFlow產品、Open vSwitch、Linux bridging以及VMware NSX產品創造了關聯的可能性。

  • Messaging queue消息隊列:大多數的OpenStack Networking安裝都會應用消息隊列的功能,用於在neutron-server和各種各樣的agents進程之間進行信息的路由。也爲某些特定的插件扮演臨時數據庫的角色,以此來存儲網絡狀態。

OpenStack networking service主要和OpenStack compute service進行交互,以提供compute service連接到虛擬機實例所需要的網絡條件。

Neutron體系結構圖 
這裏寫圖片描述

  • neutron-server能夠接受並通過Message-queue來轉發APIs給對應的Plug-ins

  • neutron-server還能夠應用軟件定義的網絡服務(Software Defined Networking Service)將REST風格的APIs轉發給Plug-ins。

基本的Neutron概念

Neutron用於管理OpenStack雲計算平臺中所有網絡方面的虛擬網絡基礎設施(VNI)物理網絡基礎設施(PNI)的接入層。它允許Tenant創建包括Firewall(防火牆)、Load Balancer(負載均衡)、virtual private network(***)等高級網絡拓撲。還爲Openstack Networking提供了networks、subnets、routers等抽象對象的概念。每個抽象對象都擁有自己獨特的功能,可以模擬各自對應的物理網絡設備。

Neutron的抽象對象

其中networks包含了subnets,routers負責在不同的networks和subnets之間實現路由轉發功能。每個router都有一個連接到network的Getway,router還有很多連接到subnet中的interface。所以一個subnet下的虛擬機可以訪問連接到同一個router中的其他subnet下的虛擬機。

網絡networks

Neutron networks目的是爲了讓OpenStack更靈活地劃分物理網絡,在多租戶環境下能夠爲每個租戶提供獨立的網絡環境。另外,Neutron還提供API來實現這個目標。Neutron networks是一個可以被用戶創建的抽象對象,如果要和物理網絡環境的概念進行映射的話,這個抽象對象相當於一個巨大的交換機,可以擁有無數個動態可創建和銷燬的虛擬端口。而這些端點都會連接到networks中的subnets。

子網subnets

簡單地說,subnets是由一組相同網段的IP地址組成的地址池。不同subnet間的通信需要routers的支持。Neutron中的subnets隸屬於networks。

路由器routers

和物理網絡環境下的路由器類似,Neutron中的routers也是一個路由選擇和轉發功能組件。只不過在Neutron中,routers是可以創建和銷燬的軟件組件。

端口

在物理網絡環境中,端口是用於連接設備進入網絡的地方。Neutron中的端口起着類似的功能,它是routers和虛擬機掛接網絡的着附點。

Neutron的Public外部網絡和Private內部網絡

任何給定的Networking都需要設置至少有一個Public外部網絡,Public外部網絡與其他的網絡不同,它不僅僅是一個虛擬網絡。更重要的是它表示了OpenStack Netowrking能被外部物理網絡接入並訪問的視圖。 
注意:Public外部網絡的IP地址只能被外部接入的物理網絡所訪問。因爲Public外部網絡僅僅代表了進入Internet的一個視圖,實際上它的DHCP是關閉的。

Public外部網絡之上,擁有一個或多個Private內部網絡。這些由軟件定義的Private內部網絡能夠直接連接到虛擬機。但只能是Private內部網絡自身所包含的虛擬機或者是那些在通過Interface連接到同一個router的subnet上的虛擬機才能夠被連接。即,不相連的Private內部網絡之間是互相隔離的。

Neutron的security groups安全組

Neutron同樣也支持 security groups(安全組)。安全組允許管理員實現防火牆規則的定義。一個虛擬機可以屬於一個或多個安全組,Neutron爲這個虛擬機配置這些安全組中的規則,例如:阻止或者開啓端口,端口範圍或者通信類型。

虛擬機如何連接到Internet外網

如果希望從Internet外網訪問虛擬機,那麼Openstack Networking中必須至少存在一個虛擬路由器。而且每個路由器至少配有一個能夠連接到networks和Interface的Getway,而且這些Interface必須連接着subnet。通過這樣一連串的網絡配置,才能夠保證能成功從外網連接到一個虛擬機。反之亦然。

如同物理路由器一樣,subnet中的虛擬機可以訪問連接到同一個路由器中的其他subnet的虛擬機,虛擬機也可以通過該路由器的網關訪問外網。

Public、Private、路由器、虛擬機的關係示例圖: 
這裏寫圖片描述

另外,你可以將Public外部網絡的IP地址分配給Private內部網絡的端口。這樣的話一旦有什麼連接到subnet,那麼這個連接就叫做一個端口。你可以通過這個端口把外部網絡IP地址分給虛擬機。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章