OpenStack集群部署—Horizon集群

2020-06-12 22:20:16 浏览数 (1)

介绍 Horizon是一个web接口,使得云平台管理员以及用户可以管理不同的OpenStack资源以及服务。

提供一个Web界面操作OpenStack系统 使用Django框架基于OpenStack API开发 支持将session存储在DB、Memcached 支持集群

部署 安装dashboard

代码语言:javascript复制
# 在全部控制节点安装dashboard服务,以controller01节点为例
[root@controller01 ~]# yum install openstack-dashboard -y

配置local_settings

代码语言:javascript复制
# 在全部控制节点操作,以controller01节点为例;
# 注意local_settings文件的权限:root:apache
[root@controller01 ~]# cp /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.bak
# 列出修改处的行数
[root@controller01 ~]# vim /etc/openstack-dashboard/local_settings
# 允许所有主机访问
38  ALLOWED_HOSTS = ['*', 'localhost']

# 强制使用相应版本的api
64  OPENSTACK_API_VERSIONS = {
65  #    "data-processing": 1.1,
66      "identity": 3,
67      "image": 2,
68      "volume": 2,
69  #    "compute": 2,
70  }
# 在多域模式运行时开启,登陆时除账号/密码外还需要输入域
75  OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

# 取消注释
97  OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
# 取消158~163行注释,并使用memcached集群
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

158  CACHES = {
159      'default': {
160          'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
161          'LOCATION': 'controller01:11211,controller02:11211,controller03:11211',
162      },
163  }

# 注释165~169行
165  #CACHES = {
166  #    'default': {
167  #        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
168  #    },
169  #}

# 监听地址使用vip;
# keystone认证使用v3;
# 设置通过dashboard创建的用户具有”user”角色权限

#选的第一个provider网络,还需要禁用三层的一些网络插件

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,
}

# 修改时区
463  TIME_ZONE = "Asia/Shanghai"

配置openstack-dashboard.conf

代码语言:javascript复制
# 在全部控制节点操作;
# 赋权,在第3行后新增” WSGIApplicationGroup %{GLOBAL}”
[root@controller01 ~]# cp /etc/httpd/conf.d/openstack-dashboard.conf /etc/httpd/conf.d/openstack-dashboard.conf.bak
[root@controller01 ~]# sed -i '3a WSGIApplicationGroup %{GLOBAL}' /etc/httpd/conf.d/openstack-dashboard.conf

启动服务

代码语言:javascript复制
# 全部控制节点操作;
[root@controller01 ~]# systemctl restart httpd.service memcached.service

验证 登陆:IP/dashboard

域/账号/密码:default/admin/admin_pass,或:default/demo/demo_pass

想省略dashboard,需要在httpd中添加

代码语言:javascript复制
cd /etc/httpd/conf.d/
cat openstack-dashboard.conf 
RedirectMatch permanent  ^/$ /dashboard

0 人点赞