通過OpenStack雲平臺啟動第一個虛擬機

通過OpenStack雲平臺啟動第一個虛擬機

乾貨分享

上一節我們講解了通過DevStack部署一套最小化的OpenStack,在整個部署過程中我們可以看到部署了OpenStack需要的最基本的組件nova,cinder,glance,neutron和keystone等。


下面我們通過在OpenStack雲平臺中啟動一個實例(虛擬機)來介紹下OpenStack是如何工作的以及OpenStack雲平臺各個組件之間的工作原理,我們的預期目標是虛擬機在OpenStack雲平臺正常創建成功並且啟動,能夠通過Ping命令驗證網絡的聯通性並且通過ssh能夠遠程登陸虛擬機。下面我們詳細介紹下實驗的整個步驟:


在瀏覽器地址欄輸入:http://10.0.0.20/dashboard/project/instances/進入創建虛擬機界面,輸入虛擬機名字instance-01,其他非必須項保持默認即可:

通過OpenStack雲平臺啟動第一個虛擬機

啟動虛擬機

選擇鏡像創建虛擬機,我們選擇DevStack部署過程中默認下載的cirros,該鏡像在OpenStack雲平臺部署過程中會自動下載:

通過OpenStack雲平臺啟動第一個虛擬機

啟動虛擬機

選擇虛擬機規格,在這裡我們使用1GB內存,2個vCpu

通過OpenStack雲平臺啟動第一個虛擬機

啟動虛擬機

選擇網絡,這裡我們選擇默認的網絡;在DevStack的部署過程中,系統會默認給創建一個網絡:

通過OpenStack雲平臺啟動第一個虛擬機

啟動虛擬機

選擇安全組,同樣我們選擇默認的安全組

通過OpenStack雲平臺啟動第一個虛擬機

啟動虛擬機

到這裡,我們就可以直接點擊“創建實例”按鈕了,這個時候OpenStack就開始創建虛擬機並且開始啟動創建的虛擬機。


下面我們需要在安全組中加入一些規則,也就是說需要開啟一下防火牆,所有的防火牆規則都是在安全組裡面配置,我們需要開通ICMP協議用於Ping命令,開啟ssh 22號端口用於ssh遠程登陸虛擬機:

通過OpenStack雲平臺啟動第一個虛擬機

安全組


等待大概幾分鐘(視部署DevStack的硬件環境而定),我們創建的虛擬機應該處於Running狀態

通過OpenStack雲平臺啟動第一個虛擬機

實驗結果

通過命令行查看

nova list
+--------------------------------------+-------------+---------+------------+-------------+----------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------------+---------+------------+-------------+----------------------------------+
| 896adee9-b276-4006-a7c8-ea75745b2107 | instance-01 | ACTIVE | - | Running | public=172.24.4.9, 2001:db8::20 |
| 8519525a-5c60-4eb5-949b-e89b5d6eb7a4 | instance-02 | SHUTOFF | - | Shutdown | public=172.24.4.14, 2001:db8::10 |
| df235276-5cb8-4e46-89f1-d8b20472f072 | instance-03 | SHUTOFF | - | Shutdown | public=172.24.4.6, 2001:db8::3 |
+--------------------------------------+-------------+---------+------------+-------------+----------------------------------+

可以看到,我們剛才創建的虛擬機已經成功啟動並且處於Running狀態。


我們首先通過VNC登陸看看

通過OpenStack雲平臺啟動第一個虛擬機

實驗結果

可以看到,VNC登陸虛擬機成功。

我們通過命令行Ping虛擬機的IP地址看看

ping 172.24.4.9
PING 172.24.4.9 (172.24.4.9) 56(84) bytes of data.

64 bytes from 172.24.4.9: icmp_seq=1 ttl=64 time=6.73 ms
64 bytes from 172.24.4.9: icmp_seq=2 ttl=64 time=1.48 ms
64 bytes from 172.24.4.9: icmp_seq=3 ttl=64 time=0.833 ms
64 bytes from 172.24.4.9: icmp_seq=4 ttl=64 time=0.814 ms
64 bytes from 172.24.4.9: icmp_seq=5 ttl=64 time=0.768 ms
64 bytes from 172.24.4.9: icmp_seq=6 ttl=64 time=0.473 ms
64 bytes from 172.24.4.9: icmp_seq=7 ttl=64 time=0.782 ms
64 bytes from 172.24.4.9: icmp_seq=8 ttl=64 time=0.814 ms
^C
--- 172.24.4.9 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7013ms
rtt min/avg/max/mdev = 0.473/1.588/6.734/1.963 ms

可以看到成功的Ping通虛擬機的IP地址,說明網絡是連通的。


我們ssh遠程登陸下虛擬機

通過OpenStack雲平臺啟動第一個虛擬機

實驗結果

可以看到宿主機上能夠通過ssh命令成功登陸我們剛才創建的虛擬機,說明網絡是連通的並且虛擬機可以遠程登陸。

通過OpenStack雲平臺啟動第一個虛擬機

乾貨分享


通過以上實驗,我們成功通過OpenStack雲平臺啟動了第一個虛擬機,VNC能夠成功登陸,Ping虛擬機IP地址以及ssh遠程登陸虛擬機都是成功的,通過以上操作我們可以查看OpenStack的nova,neutron,glance和cinder的log,可以更詳細的瞭解OpenStack啟動一個虛擬機的詳細工作過程,以及OpenStack組件之間的通信原理。

參考:

https://docs.openstack.org/devstack/latest/

文章如有不妥之處,歡迎指正!謝謝!


分享到:


相關文章: