OpenStack 图形化Dashboard

Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。

OpenStack 图形化Dashboard [七]

openstack

时间:2016年11月28日

部署openstack管理服务

Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。

Dashboard

提供一个web界面操作openstack的系统,使用Django框架基于openstack API开发,支持session存储在DB memcached 支持集群

安装软件包:

[root@linux-node1 ~]# yum install openstack-dashboard -y

虚拟机创建流程

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-abe9897ea4645fd.png-139.1kB

第一步,图形界面输入用户名密码到keyston进行认证,认证通过之后会分配一个token,然后使用该token即可访问其他服务,第二步将创建虚拟机的请求转换给REST API并发送给NOVA API,然后其拿着此token到keyston查询是否合法,第四步NOV api和数据库进行交互,将要创建的虚拟机信息写入到数据库,第五步发送消息大rabbitMQ,消息会发送给nova scheduler,第六步nova scheduler算法确认虚拟机将被创建在哪个物理机上,第七步nova scheduler和数据库进行交互,将虚拟机生成的信息写入到数据库,第八步nova computer接收到消息进行虚拟机创建,第九步nova computer到数据库查询该虚拟机要创建的信息,第十步nova conductor和数据库进行沟通,新版的openstack使用nova conductor代替第九步的操作,第十一步nova conductor更新数据库信息,然后nova computer从数据库获取到虚拟机的创建信息后进行下一步创建虚拟机的操作,第十二步联系glance获取镜像,第十三步glace联系keyston进行认证,第十四步联系neutron获取网络,第十五步neutron联系keyston进行认证,第十六步nova computer再联系cinder获取磁盘,第十七不cinder再到keyston进行认证,第十八步mova computer调用KVM创建虚拟机。

查看角色

[root@linux-node1 ~]# openstack role list
+----------------------------------+-------+
| ID                               | Name  |
+----------------------------------+-------+
| 4161dec8714f468f832a55a6ec2abb9e | user  |
| c934dad680e142d09c434e2301b2a9bf | admin |
+----------------------------------+-------+

编辑文件/etc/openstack-dashboard/local_settings

[root@linux-node1 ~]# vim /etc/openstack-dashboard/local_settings

允许所有主机访问仪表板

30 ALLOWED_HOSTS = ['*', ]

配置API版本

 55 OPENSTACK_API_VERSIONS = {
 56 #    "data-processing": 1.1,
 57     "identity": 3,
 58     "volume": 2,
 59     "compute": 2,
 60 }

controller节点上配置仪表盘以使用 OpenStack 服务:158 OPENSTACK_HOST = "192.168.56.11"

启用第3版认证API

159 OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

通过仪表盘创建的用户默认角色配置为 user

160 OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"

启用对域的支持

64 OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

通过仪表盘创建用户时的默认域配置为 default

72 OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'default'

如果您选择网络参数1,禁用支持3层网络服务:

提示:如果不禁用,一会可能会出现错误

260 OPENSTACK_NEUTRON_NETWORK = {
261     'enable_router': False,
262     'enable_quotas': False,
263     'enable_ipv6': False,
264     'enable_distributed_router': False,
265     'enable_ha_router': False,
266     'enable_lb': False,
267     'enable_firewall': False,
268     'enable_vpn': False,
269     'enable_fip_topology_check': False,

修改时区

TIME_ZONE = "Asia/Shanghai"

修改为亚洲上海

保存重启

[root@linux-node1 ~]# systemctl restart httpd

登陆页面

默认域:default

用户名:demo

密码:demo

提示:我们也可以使用admin用户登陆

登陆地址:http://192.168.56.11/dashboard

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-287487a5dd15109.png-21.3kB

管理界面

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-544b4096d5059be.png-41.8kB

admin用户需要在管理员窗口进行控制

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-a9d347b728a6e96.png-26.3kB

云主机介绍

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-0850659bbd42813.png-25.6kB

admin用户可以管理所有用户创建的所有云主机,可以进行管理

主机聚合介绍

可以创建一个主机组将它们放在一块

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-59e9d78c614f4e5.png-27.4kB

云主机

除了无法对云主机进行名称的修改,其他的修改都可以的

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-4a569402ffc5024.png-23.4kB

云主机类型

我们可以进行添加、删除

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-dc0a4b52571dfb8.png-29.7kB

网络等等。。

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-a09c17f2ce0f0df.png-17.9kB

用户验证

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-8d9fa28fabc673e.png-22.5kB

我们演示删除云主机

我们切换到demo用户上,准备删除云主机,在从新添加一个

构建一台云主机

https://www.lingkb.com/wp-content/uploads/2020/01/1578152506-9e2d59d836ff484.png-13.9kB

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-4b5f2a45ff1bd4c.png-41.7kB

点击下方+号,加入。

这里可以使用镜像、实力快照、卷、卷快照等

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-f5f2cdf5ee7bcb2.png-49.8kB

我们可以在管理进行添加

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-09707c9b4f4bff7.png-59.8kB

添加网络

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-1fb7a10161f79fe.png-43.7kB

添加安全组

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-dc6d46017f6237a.png-30.7kB

添加密钥对

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-d840e4776807886.png-40.5kB

然后我们启动实例就可以了

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-d1bdf4919c8597e.png-37.2kB

我们刚刚创建了2个,现在它在启动

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-f26fedcc5a8bd95.png-23.7kB

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-fcb7a6f12717f9f.png-56.1kB

我们的虚拟机是使用kvm启动的,那么使用kvm启动就会在计算节点产生2个进程

查看计算节点进程

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-f8c2cf4379ac950.png-139.4kB

要监听vnc的端口,vnc默认端口从5900开始

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-1c0563999bc12dd.png-44.5kB

在openstack环境下,桥接网卡名字都一样

都会桥街到本地网卡eth0

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-6635f583dd5e547.png-204.4kB

虚拟机保存在/var/lib/nova/instances

[root@linux-node2 ~]# tree  /var/lib/nova/instances/
/var/lib/nova/instances/
├── 10ea5ada-150a-42fb-bebf-dd99936f08a2
│   ├── console.log
│   ├── disk
│   ├── disk.info
│   └── libvirt.xml
├── 3bb362fb-464b-40ad-b564-628387944c4a
│   ├── console.log
│   ├── disk
│   ├── disk.info
│   └── libvirt.xml
├── _base
│   └── e24c82eb013841010cf48ebfe8281d09ed4b251a
├── cc7f38cd-29e4-492f-b72b-e60bb3f4bed2
│   ├── console.log
│   ├── disk
│   ├── disk.info
│   └── libvirt.xml
├── compute_nodes
└── locks
    ├── nova-e24c82eb013841010cf48ebfe8281d09ed4b251a
    └── nova-storage-registry-lock

5 directories, 16 files
[root@linux-node2 ~]#

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-5d7380f8f09e2ef.png-77.6kB

console.log         控制台日志
disk                虚拟磁盘
disk.info           虚拟磁盘信息
libvirt.xml         KVM生成的一个文件

base                镜像路径
e24c82              镜像ID

提示:虽然我们的虚拟机分配了1G硬盘,但是缺没有达到1G的用量,因为这样可以节省空间,增加启动速度。真的是空间全在镜像里面

[root@linux-node2 ~]# ll /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/
total 1824
-rw-rw---- 1 qemu qemu   19760 Nov 23 23:31 console.log
-rw-r--r-- 1 qemu qemu 1835008 Nov 23 23:41 disk
-rw-r--r-- 1 nova nova      79 Nov 23 23:27 disk.info
-rw-r--r-- 1 nova nova    2653 Nov 23 23:27 libvirt.xml
[root@linux-node2 ~]# file /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/disk
/var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/disk: QEMU QCOW Image (v3), has backing file (path /var/lib/nova/instances/_base/e24c82eb013841010cf48ebfe8281d09e), 1073741824 bytes

我们还可以使用qemu命令进行详细查看

[root@linux-node2 ~]# qemu-img info /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/disk
image: /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/disk
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 1.8M
cluster_size: 65536
backing file: /var/lib/nova/instances/_base/e24c82eb013841010cf48ebfe8281d09ed4b251a
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
corrupt: false

提示:文件disk.info就是一个路径

云计算与虚拟化工具之KVM

http://www.abcdocker.com/abcdocker/1627

console.log我们登陆云主机显示的

https://www.lingkb.com/wp-content/uploads/2020/01/1578152507-4f8e5a1fac17fa6.png-101.1kB

libvirt.xml是动态生成的,无法进行修改

待更新

欢迎评论。
lingkb » OpenStack 图形化Dashboard [七]