通过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/

文章如有不妥之处,欢迎指正!谢谢!


分享到:


相關文章: