•提供一个web界面操作openstack的系统
•使用Django框架基于openstack API开发
•支持将session存储在DB、memcached
•支持集群
tips:创建虚拟机的方法:horizon,api,命令行
服务未启动,不要再keystone上注册,否则会报错
创建云主机失败排查思路:
服务的判断
nova neutron glance keystone
nova service-list -->保证nova的服务是正常的,state为up
neutron agent-list -->保证网络服务是正常的,不正常的话会提示找不到主机
常见的:创建云主机正常的,计算节点上的eth0是没有ip地址的,桥接网卡上才会有ip地址
如果某台计算节点重启了,可能桥接网卡不会被绑定上,此时重启linuxbridge服务,或者硬重启一台新的虚拟机。
-
2.Horizon的安装
为了避免多样服务在同一台机子上,horizon服务安装在node2节点上
(1)安装软件包
[root@linux-node2 ~]# yum install openstack-dashboard -y
(2)编辑/etc/openstack-dashboard/local_settings
[root@linux-node2 ~]# vim /etc/openstack=dashboard/local_settings
local_settings是一个python文件 在 linux-node2 节点上配置仪表盘以使用 OpenStack 服务:此处填的是keystone服务的ip OPENSTACK_HOST = "192.168.56.11"
允许所有主机访问仪表板: ALLOWED_HOSTS = ['*', ]
配置 memcached 会话存储服务: SESSION_ENGINE = 'django.contrib.sessions.backends.cache' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '192.168.56.11:11211', } } 启用第3版认证API: OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
启用对域的支持 OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
配置API版本: (horizon在配置的时候可以选择版本,一个服务可以配置不同的版本) OPENSTACK_API_VERSIONS = { "identity": 3, "image": 2, "volume": 2, }
通过仪表盘创建用户时的默认域配置为 default : OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "default"
通过仪表盘创建的用户默认角色配置为 user : OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
如果您选择网络参数1,禁用支持3层网络服务: OPENSTACK_NEUTRON_NETWORK = { ... 'enable_router': False, 'enable_quotas': False, 'enable_distributed_router': False, 'enable_ha_router': False, 'enable_lb': False, 'enable_firewall': False, 'enable_***': False, 'enable_fip_topology_check': False, } 可以选择性地配置时区: TIME_ZONE = "Asia/Shanghai"
(3)完成安装
[root@linux-node2 ~]# systemctl restart httpd
[root@linux-node2 ~]# systemctl enable httpd
验证操作
浏览器访问仪表盘:192.168.56.12/dashboard
验证使用admin或者demo用户凭证和default域凭证
生产使用经验:当ip地址不够用了,如何添加ip,使用admin账户登录操作如下:
"网络"-->"编辑子网"-->在分配地址池中进行添加192.168.56.50 192.168.56.99-->保存
可以在数据库进行查看neutron库-->ipallocationpools
查看现在ip地址分配使用情况: