openstack-發放虛擬機與綁定浮動ip進行登錄

    1、使用基於openvswitch的flat網絡連通外部網絡linux

在測試環中,使用allinone部署的openstack,若是須要與外部物理網絡通信,則須要配置flat網路。在q版中,neutron服務默認使用openvswitch,而非使用linux bridge。vim

image.png



openvswitch支持五種網絡類型,有gre,local,flat,vxlan和vlan類型,其中gre網絡和vxlan比較相似,都是使用隧道模式。安全


local 網絡:不會與宿主機的任何物理網卡鏈接,流量被限制在宿主機內,同時沒有任何VLAN IDbash

flat 網絡:不帶有tag的網絡,宿主機的網卡經過網橋與flat network鏈接,每一個flat網絡都佔有一個物理網卡
服務器

vlan網絡: 是帶有tag的網絡,在openvswitch的實現方式下,不一樣的vlan instance的虛擬網卡都會被接到br-int上
網絡

gre和vxlan網絡:基於隧道技術的overlay network,創建在其餘網絡上的網絡。app

測試環境使用flat網絡鏈接外部物理網絡ssh

首先在/etc/neutron/plugins/ml2/ml2_conf.ini中設置相關參數,指定普通用戶網絡類型爲flattcp

vim /etc/neutron/plugins/ml2/ml2_conf.ini

[ml2]
tenant_network_types=flat                #將tenaant_network_types修改成flat

由於使用packstack部署openstackallinone的時候,已經指明瞭flat網絡與物理網絡的對應關係。若是使用控制計算分離的部署,則須要修改配置文件指明對應關係,如:分佈式

[ml2_type_flat]
flat_networks=default

[ovs]
bridge_mappings=default:br-ex          #指定對應外部網橋br-ex

完成後,重啓neutron網絡服務

systemctl restart neutron-server

而後使用ovs-vsctl命令檢查一下br-ex 配置

ovs-vsctl show

image.png



image.png

關於ovs-vswitch內部網絡大體以下:

image.png

說明:

一、ens192是物理網卡(使用虛擬化vmware嵌套部署openstack,相對而言,本質仍是虛擬網卡)

二、外部網橋br-ex配有ip地址,做爲openstack登錄和發放虛擬機使用

三、發放的虛擬機首先須要須要經過neuntron提供的dhcp獲取私網ip地址,而後經過router進行snat訪問外網


2、浮動ip

DHCP服務器將專用IP地址分配給實例的網絡接口。經過使用「ip a」之類的命令,能夠在實例中看到該地址。該地址一般是專用網絡的一部分,而且用於經過虛擬交換機(每一個計算節點上的L2代理)在同一廣播域中的實例之間進行通訊。它也能夠經過虛擬路由器(L3代理)從其餘專用網絡中的實例訪問。


浮動IP地址是Neutron提供的服務。它不使用任何DHCP服務或在guest虛擬機中靜態設置。事實上,客戶的操做系統並不知道它被分配了一個浮動IP地址。使用指定的浮動地址將數據包傳送到接口是Neutron的L3代理的責任。具備指定的浮動IP地址的實例能夠經過浮動IP從公共網絡訪問。


OpenStack實例接收一個私有IP地址,經過該IP地址,它們能夠相互聯繫並經過哪些主機能夠訪問它們。爲了從網絡中的其餘計算機(例如工做站)訪問這些實例,須要爲實例分配「浮動IP」。Packstack會自動使用默認設置對您的網絡進行錯誤配置。您須要使用一系列適合您網絡的免費IP地址配置OpenStack安裝。


簡單說明:

一、外部網絡配置flat網絡,保證openstack 可以訪問連通外部物理網絡

二、浮動ip,就是可用的實際的物理ip地址範圍,指虛擬機實例能夠綁定的公網ip,在公有云中就是指彈性IP,本次測試環境則是對應的可用的物理地址範圍,例如172.31.208.110。


在前面完成全部基礎網絡配置以後,在dashbord中看到網絡拓撲

image.png

說明:

一、external_network對接的是外部物理網絡,使用flat網絡模式,172.31.208.0/24

二、路由器router是虛擬路由器,鏈接外部網絡和虛擬網絡

三、router上的一個接口對應的是外部物理網絡的地址172.31.208.102,虛擬機實例將會在虛擬私有網絡中使用snat,到外部網絡網絡,而後能夠訪問外網

四、router上的另外一個接口對應的是虛擬私有網絡,192.168.1.0/24,neutron的dhcp服務將分配地址給虛擬機實例


3、發放虛擬實例並綁定浮動ip 


前期已經完成了外部網絡配置,鏡像上傳等配置。

測試使用 浮動IP 172.31.208.110

租戶項目cloud

租戶管理員vdc_admin


3.1 分配浮動ip

 以admin身份登錄dashbord,在管理員-網絡-浮動IP中分配浮動ip172.31.208.110給項目cloud

image.png

能夠分配多個浮動ip給項目,地址範圍要在外部網絡flat中配置的地址範圍以內,點擊分配浮動ip便可


3.2 建立虛擬機實例

    以租戶管理員vdc_admin登錄項目cloud,而後再計算中點擊建立實例

前面已經說明如何建立實例,本次再也不說明

成功建立後,開始綁定浮動ip

image.png

而後選擇分配到的浮動ip

image.png


而後須要再網絡-安全組中修改規則,入方向開放可以經過tcp 22端口,而後咱們能夠經過浮動IP進行ssh服務到虛擬機實例

image.png

這樣便完成了浮動ip與實例的配置,此時能夠經過浮動ip 172.31.208.110進行登錄

測試的虛擬機實例

用戶名 cirros

密碼  cubswin:)

image.png


而後能夠看到能夠訪問實例同時能夠訪問外網

image.png


此時咱們查看網絡拓撲

image.png



4、綁定卷

此時測試實例只有一塊硬盤,咱們須要卷服務來生成雲硬盤(evs)

image.png

建立一塊10G大小卷做爲雲硬盤

而後咱們綁定到實例上

image.png

綁定以後,卷做爲雲硬盤使用,仍是一塊虛擬的塊設備,須要格式化掛載

image.png

sudo fdisk /dev/vdb
sudo mkfs.ext3 /dev/vdb1
sudo mount /dev/vdb1 /var
df -h

能夠看到已經掛載上了

image.png


5、思考

一、all in one部署的openstack沒法仔細測試neutron的其餘網絡模式,比較遺憾

二、虛擬化部署的狀況下,vmware須要調整分佈式交換機的端口組模式爲混雜和僞傳輸爲接收,否則虛擬機實例發出訪問外網的數據包會被vmware的安全機制所丟棄

三、如何快速自定義建立鏡像格式,qcow2

四、如何利用其餘自定義鏡像格式,如ISO ,如何使用ISO格式發放虛擬機實例?

相關文章
相關標籤/搜索