Horizon提供了一个Web界面用于管理OpenStack系统,比如建立网络和子网、创建和管理虚拟机等都可以完成。Horizon基于API开发,不涉及数据库操作,二次开发很方便。它只需要连接Keystone就可以完成对其他组件的管理(因为其他组件都在Keystone中有注册)

1、安装Horizon

yum install openstack-dashboard

2、编辑Horizon配置文件/etc/openstack-dashboard/local_settings(不要偷懒去生成一个新文件来复制粘贴,因为该文件里有默认配置需要保留),做如下修改: 

OPENSTACK_HOST = "CONTROLLER_IP"  #keystone的IP
ALLOWED_HOSTS = ['*',]  #允许所有主机访问

#配置memcached会话存储服务
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'  
CACHES = {
    'default': {
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
         'LOCATION': CONTROLLER_IP:11211',
    }
}

OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST  #启用第三版的API
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True  #启用对域的支持

#配置API版本
OPENSTACK_API_VERSIONS = {  
    "identity": 3,
    "image": 2,
    "volume": 2,
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "default"  #用仪表盘创建用户时默认域为default
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"  #用仪表盘创建的用户默认为user级别

#Neutron相关配置,禁用三层网络
OPENSTACK_NEUTRON_NETWORK = {
    'enable_router': False,
    'enable_quotas': False,
    'enable_distributed_router': False,
    'enable_ha_router': False,
    'enable_lb': False,
    'enable_firewall': False,
    'enable_vpn': False,
    'enable_fip_topology_check': False,
}

#时区配置
TIME_ZONE = "TIME_ZONE"

3、重启httpd服务,因为Horizon是依赖于httpd的 

systemctl restart httpd.service memcached.service

4、使用Web浏览器访问仪表板进行验证,登录地址是http://CONTROLLER_IP/dashboard,在域一栏填写default;用户一栏填写admin;密码是Keystone的密码

5、登录Horizon后左边有一列菜单栏,通常会先在身份管理-项目-创建项目(云主机配额也可以在这里修改),然后再到用户菜单栏中创建用户,创建用户的时候可以选择把用户加入到指定的项目并加入到指定角色中。然后使用新创建的用户也可以登录Horizon,只不过看不到管理员菜单栏。在管理员菜单中可以创建域、镜像、虚拟主机配置等。

openstack 关闭混杂模式 openstack管理界面_openstack 关闭混杂模式

6、Horizon主要功能介绍:

系统信息:每个服务的endpoint都会在这里展示,nova、neutron、cinder三大组件的控制节点与计算节点也会在这里显示

主机聚合:把多个计算节点加入到创建的主机组(域)中,后期在手动创建主机的时候可以选择某个组,那么主机就只会创建在对应组的主机里

云主机数量:在这里可以看到每一个云主机的信息(如果使用的是admin账户可以看到创建在哪个计算节点上),并且可以对云主机进行管理,比如创建主机、重启开关机、远程控制台等

项目-网络:在这里可以看到每一组网络和子网信息,进入详情页后还可以看到IP地址池等信息,要增加地址池的话使用admin账户编辑子网即可