OpenStack 图形化Dashboard [七]

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

虚拟机创建流程
image_1b2kr32ei14lt1sqc1gbj6m785r9.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

image_1b2krnpjlir6rva9qaf4m5q3m.png-21.3kB

管理界面
image_1b2kru4v6p511jb711vg120f1v2513.png-41.8kB

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

image_1b2kruqbuga11td41f6p1fmi17hg1g.png-26.3kB

云主机介绍
image_1b2krvefi13ra7gfsikpmb1j5d1t.png-25.6kB
admin用户可以管理所有用户创建的所有云主机,可以进行管理

主机聚合介绍

可以创建一个主机组将它们放在一块
image_1b2ks1kck9uv93b1snh16fvrmm2a.png-27.4kB

云主机
除了无法对云主机进行名称的修改,其他的修改都可以的
image_1b2ks23lmmbb1v92rt31jtd1rrp2n.png-23.4kB

云主机类型
我们可以进行添加、删除
   image_1b2ks2g721kq553hbor1qt7fp434.png-29.7kB

网络等等。。
image_1b2ks2skp15171iaj18mp1j8eopv3h.png-17.9kB

用户验证
image_1b2ks37u013nr126d1vbb14g91gg43u.png-22.5kB

我们演示删除云主机

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

构建一台云主机

image_1b2ksi9f51t4ejf5mddchilh84b.png-13.9kB

image_1b2ksihnr12b14v5k1h9nk1kal4o.png-41.7kB

点击下方+号,加入。
这里可以使用镜像、实力快照、卷、卷快照等

image_1b2ksitbv10todsrqmm1gdd1qh755.png-49.8kB

我们可以在管理进行添加

image_1b2ksj7drr331apg4mvh7a1p1a5i.png-59.8kB

添加网络

image_1b2ksjgvk2441ni61rmod3475e5v.png-43.7kB

添加安全组
image_1b2ksjrjntmq5haq9d11be1j506c.png-30.7kB
添加密钥对
image_1b2ksk3leivp1qpv1aj5n4beo96p.png-40.5kB

然后我们启动实例就可以了
image_1b2kskemc165f1qmvli15kc3v376.png-37.2kB

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

image_1b2kskr08j13nnh37e1f3220o7j.png-23.7kB

image_1b2ksl0vteg1n78qt4u3l1nf280.png-56.1kB

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

查看计算节点进程
1.png-139.4kB

要监听vnc的端口,vnc默认端口从5900开始
image_1b2ksnp5qv8uh8p1a9afoe6ke99.png-44.5kB
在openstack环境下,桥接网卡名字都一样

都会桥街到本地网卡eth0
image_1b2kso2qh7at4v319ctoqr1oo9m.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-lock5 directories, 16 files[root@linux-node2 ~]#

image_1b2ksp9f21mm71rvgetu1od61c1ga3.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/diskimage: /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/diskfile format: qcow2virtual size: 1.0G (1073741824 bytes)disk size: 1.8Mcluster_size: 65536backing file: /var/lib/nova/instances/_base/e24c82eb013841010cf48ebfe8281d09ed4b251aFormat specific information:    compat: 1.1    lazy refcounts: false    refcount bits: 16corrupt: false

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

云计算与虚拟化工具之KVM
http://www.abcdocker.com/abcdocker/1627

console.log我们登陆云主机显示的
image_1b2ksra2quvjdan1lrs13fj1sgvag.png-101.1kB

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

待更新