openstack的provider模式和self-service模式的理解

openstack的provider模式和self-service模式的理解


最近在做ovn的研究,涉及到與neutron結合時候,遇到了兩種網絡模式,一種是provider模式,一種是self-service模式。起初有些混亂,研究和學習之後,發現其實就是我們項目裏所說的Vxlan版本和vlan版本。。。

網絡對此解釋比較少,在此把學習過程中的理解寫出來。
1、看圖說話
首先看下openstack官網的圖,第一張是provider模式,第二張是self-service模式。

在這裏插入圖片描述

在這裏插入圖片描述

看過兩張圖,可以發現,self-service模式主要是在控制節點(其實也就是之前版本的網絡節點,新的版本是把網絡節點和控制節點部署在一起了),多了一個 L3 agent。顧名思義,也就是self-service有三層的服務。
2、上正餐
provider network又稱爲運營商網絡,self-service network又稱爲租戶網絡。

對於neutron而言,這種網絡類型是“沒有”三層路由功能的,或者說沒有自主的路由功能,他需要藉助外部的網絡,才能完成不同網絡之間的路由。也就是說他的路由器或者三層網絡服務是由openstack 之外的力量提供,因此被稱爲provider。

在ml2的配置文件中,我們可見一斑

/etc/neutron/plugins/ml2/ml2_conf.ini
#下面是把租戶的網絡配置成vlan模式
[ml2]
mechanism_drivers = ovn
type_drivers = local,flat,vlan,vxlan
tenant_network_types = vlan
extension_drivers = port_security
overlay_ip_version = 4
#下面是我們就需要配置vlan的信息,在這裏我們需要提供我們的provider的名稱,這個名字你可以隨便起,但是必須和計算節點上的physical_interface_mappings一一對應。
[ml2_type_vlan]
network_vlan_ranges = **provider-name**:1001:2000
#假如計算節點上的網絡服務使用的linuxbridge(對於ovs也一樣)
修改/etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = **provider-name**:eth0  #看到沒,這裏就是把provider映射到具體的物理網卡了,也就是創建的租戶的vlan網絡就從計算節點的eth0出去,而後進入eth0背後的網絡設備,在那裏進行路由和交換。

3、餐後甜點
說完了provider network之後,就很容易理解self-service網絡了。
self-service就是neutron不依賴外部的網絡和三層路由,租戶自己通過ovs或者Linux bridge創建虛擬的路由來進行交換。self-service也不需要配置provider。配置如下:

/etc/neutron/plugins/ml2/ml2_conf.ini
#下面是把租戶的網絡配置成vxlan模式
[ml2]
mechanism_drivers = ovn
type_drivers = local,flat,vlan,vxlan
tenant_network_types = vxlan
extension_drivers = port_security
overlay_ip_version = 4
[ml2_type_vxlan]
vni_ranges = 1:1000

4、網絡邏輯
下面是我自己簡單畫的兩種類型的網絡走向,第一個是provider類型,第二個是self-service類型。
可以看到provider是藉助外部去完成路由,而self-service是藉助網絡節點或者說控制節點的虛擬路由器去完成的路由。
在這裏插入圖片描述

在這裏插入圖片描述
參考:
https://docs.openstack.org/install-guide/overview.html#networking

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