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
虚拟机创建流程
第一步,图形界面输入用户名密码到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_***': 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
管理界面
admin
用户需要在管理员窗口进行控制
云主机介绍
admin用户可以管理所有用户创建的所有云主机,可以进行管理
主机聚合介绍
可以创建一个主机组
将它们放在一块
云主机
除了无法对云主机进行名称的修改,其他的修改都可以的
云主机类型
我们可以进行添加、删除
网络等等。。
用户验证
我们演示删除云主机
我们切换到demo
用户上,准备删除云主机,在从新添加一个
构建一台云主机
点击下方+号,加入。
这里可以使用镜像、实力快照、卷、卷快照等
我们可以在管理进行添加
添加网络
添加安全组
添加密钥对
然后我们启动实例就可以了
我们刚刚创建了2个,现在它在启动
我们的虚拟机是使用kvm
启动的,那么使用kvm
启动就会在计算节点产生2
个进程
查看计算节点进程
要监听vnc的端口,vnc默认端口从5900
开始
在openstack环境下,桥接网卡名字都一样
都会桥街到本地网卡eth0
虚拟机保存在/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 ~]#
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/diskp_w_picpath: /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
我们登陆云主机显示的
libvirt.xml
是动态生成的,无法进行修改
待更新