62b2a5798d4ec01ba752d5f02b1c1447.png

干货分享

上一节我们讲解了通过DevStack部署一套最小化的OpenStack,在整个部署过程中我们可以看到部署了OpenStack需要的最基本的组件nova,cinder,glance,neutron和keystone等。


下面我们通过在OpenStack云平台中启动一个实例(虚拟机)来介绍下OpenStack是如何工作的以及OpenStack云平台各个组件之间的工作原理,我们的预期目标是虚拟机在OpenStack云平台正常创建成功并且启动,能够通过Ping命令验证网络的联通性并且通过ssh能够远程登陆虚拟机。下面我们详细介绍下实验的整个步骤:


在浏览器地址栏输入:http://10.0.0.20/dashboard/project/instances/进入创建虚拟机界面,输入虚拟机名字instance-01,其他非必须项保持默认即可:

6f8eab21c9e017c59c8155d564429dba.png

启动虚拟机

选择镜像创建虚拟机,我们选择DevStack部署过程中默认下载的cirros,该镜像在OpenStack云平台部署过程中会自动下载:

ec960134a15da9427863242581f6e028.png

启动虚拟机

选择虚拟机规格,在这里我们使用1GB内存,2个vCpu

8714d82ee9c4d9068b7a8a247b993d3a.png

启动虚拟机

选择网络,这里我们选择默认的网络;在DevStack的部署过程中,系统会默认给创建一个网络:

590ae55b9d09e478b78c582050dbed0e.png

启动虚拟机

选择安全组,同样我们选择默认的安全组

3baaedf90eb2a6899f6d30e8c32c4573.png

启动虚拟机

到这里,我们就可以直接点击“创建实例”按钮了,这个时候OpenStack就开始创建虚拟机并且开始启动创建的虚拟机。


下面我们需要在安全组中加入一些规则,也就是说需要开启一下防火墙,所有的防火墙规则都是在安全组里面配置,我们需要开通ICMP协议用于Ping命令,开启ssh 22号端口用于ssh远程登陆虚拟机:

2625e5efcc1a6c21104a2b89fd9c11bf.png

安全组


等待大概几分钟(视部署DevStack的硬件环境而定),我们创建的虚拟机应该处于Running状态

c8126e642fddb5f76b7b27b19e5b1622.png

实验结果

通过命令行查看

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登陆看看

2dfedea14141e604d448c941a78c810f.png

实验结果

可以看到,VNC登陆虚拟机成功。

我们通过命令行Ping虚拟机的IP地址看看

ping 172.24.4.9PING 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 ms64 bytes from 172.24.4.9: icmp_seq=2 ttl=64 time=1.48 ms64 bytes from 172.24.4.9: icmp_seq=3 ttl=64 time=0.833 ms64 bytes from 172.24.4.9: icmp_seq=4 ttl=64 time=0.814 ms64 bytes from 172.24.4.9: icmp_seq=5 ttl=64 time=0.768 ms64 bytes from 172.24.4.9: icmp_seq=6 ttl=64 time=0.473 ms64 bytes from 172.24.4.9: icmp_seq=7 ttl=64 time=0.782 ms64 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 7013msrtt min/avg/max/mdev = 0.473/1.588/6.734/1.963 ms

可以看到成功的Ping通虚拟机的IP地址,说明网络是连通的。


我们ssh远程登陆下虚拟机

1e4f4a38ce0802ede93933d230d11e4c.png

实验结果

可以看到宿主机上能够通过ssh命令成功登陆我们刚才创建的虚拟机,说明网络是连通的并且虚拟机可以远程登陆。

9e2b3d1fba16dc8158bb3b2e50cbbcc0.png

干货分享


通过以上实验,我们成功通过OpenStack云平台启动了第一个虚拟机,VNC能够成功登陆,Ping虚拟机IP地址以及ssh远程登陆虚拟机都是成功的,通过以上操作我们可以查看OpenStack的nova,neutron,glance和cinder的log,可以更详细的了解OpenStack启动一个虚拟机的详细工作过程,以及OpenStack组件之间的通信原理。

参考:

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

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

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!