OpenStack核心组件-horizon web 界面管理

1. horizon 介绍

Horizon:

  Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizone 所提供的 DashBoard 服务 , 管理员可以使用通过 WEB UI 对 Openstack 整体云环境进行管理 , 并可直观看到各种操作结果与运行状态。

 

DashBoard 与其他组件的关系

登陆 Dashboard 界面

启动客户端浏览器,于地址栏输入:http://Horizone_server_ip/dashboard

2. 区域(Region)

  1> 地理上的概念,可以理解为一个独立的数据中心,每个所定义的区域有自己独立的Endpoint;

  2> 区域之间是完全隔离的,但多个区域之间共享同一个Keystone和Dashboard(目前Openstack中的Dashboard还不支持多个区域);

扫描二维码关注公众号,回复: 6721869 查看本文章

  3> 除了提供隔离的功能,区域的设计更多侧重地理位置的概念,用户可以选择离自己更新的区域来部署自己的服务,选择不同的区域主要是考虑那个区域更靠近自己,如用户在美国,可以选择离美国更近的区域;

  4> 区域的概念是由Amazon在AWS中提出,主要是解决容错能力和可靠性。

3. 可用性区域(Availability Zone)

  1> AZ是在Region范围内的再次切分,例如可以把一个机架上的服务器划分为一个AZ,划分AZ是为了提高容灾能力和提供廉价的隔离服务;

  2> AZ主要是通过冗余来解决可用性的问题,在Amazon的声明中,Instance不可用是指用户所有AZ中的同一个Instance都不可达才表明不可用;

  3> AZ是用户可见的一个概念,并可选择,是物理隔离的,一个AZ不可用不会影响其他的AZ,用户在创建Instance的时候可以选择创建到那些AZ中。

4. Host Aggreates

  一组具有共同属性的节点集合,如以CPU作为区分类型的一个属性,以磁盘(SSD\SAS\SATA)作为区分类型的一个属性,以OS(Windows\Linux)为作区分类型的一个属性;

 

5. Cell

  nova为了增加横向扩展以及分布式、大规模(地理位置级别)部署的能力,同时又不增加数据库和消息中间件的复杂度,引入了cell的概念,并引入了nova-cell服务。

1> 主要是用来解决OpenStack的扩展性和规模瓶颈;

2> 每个Cell都有自己独立的DB和AMQP,不与其他模块共用DB和AMQP,解决了大规模环境中DB和AMQP的瓶颈问题;

3> Cell实现了树形结构(通过消息路由)和分级调度(过滤算法和权重算法),Cell之间通过RPC通讯,解决了扩展性问题;

6. 部署horizon服务

注意:

       部署dashboard必须给控制节点给足够的内存(>2G),否则无法进行登录。

1> 下载安装

[root@ajy6 ~]# yum install openstack-dashboard

2> 配置文件/etc/openstack-dashboard/local_settings

[root@ajy6 ~]# cd /etc/openstack-dashboard/
[root@ajy6 openstack-dashboard]# ls
cinder_policy.json  heat_policy.json      local_settings       nova_policy.json
glance_policy.json  keystone_policy.json  neutron_policy.json
[root@ajy6 openstack-dashboard]# cp local_settings local_settings.bak
[root@ajy6 openstack-dashboard]# vim local_settings   
#配置文件较多,按照官网提示修改即可
159 OPENSTACK_HOST = "ajy6"
28 ALLOWED_HOSTS = ['horizon.example.com', 'localhost','*']    #允许所有的(*)
129 SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
130
131 CACHES = {                                                 #memcache
132     'default': {
133         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
134         'LOCATION': 'ajy6:11211',
135     },
136 }
162 OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
163 OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
65 OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
54 OPENSTACK_API_VERSIONS = {                                   #api版本
55 #    "data-processing": 1.1,
 56     "identity": 3,
 57     "image": 2,
 58     "volume": 2,
 59     "compute": 2,
 60 }
73 OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
283 OPENSTACK_NEUTRON_NETWORK = {                               #网络服务功能
284     'enable_router': True,
285     'enable_quotas': True,
286     'enable_ipv6': True,
287     'enable_distributed_router': False,                     #分布式路由
288     'enable_ha_router': False,
289     'enable_lb': True,
290     'enable_firewall': True,
291     'enable_vpn': True,
292     'enable_fip_topology_check': True,
418 TIME_ZONE = "UTC"                                           #时间域

3> 重启服务

[root@ajy6 ~]# systemctl restart httpd.service memcached.service     #dashboard页面要使用网页且要进行缓存

4> 访问dashboard页面,访问形式:控制节点+dashboard

在默认域登录,登录账号密码与openrc文件一致。

[root@ajy6 ~]# cat openrc
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://ajy6:35357/v3
export OS_IDENTITY_API_VERSION=3

点击连接,进入OpenStack

 

5> openstack的超管admin有自己的项目,OpenStack的项目都运行在admin,因此不能给用户也分配admin项目,需要新建一个项目给用户。

 

       带*为必选项目,点击项目进行创建。项目实例表示分配的虚拟机。创建完项目,分配给用户后用户无法再创建虚拟机项目,此时可以查看项目配额或者计算节点看是否有空间可以进行分配。

       项目创建完成后再给其创建一个普通用户,点击创建用户进行创建。

  创建完用户后就可以使用用户zxj进行登录了,此时登录的用户在online项目里。

 

 

猜你喜欢

转载自www.cnblogs.com/ajunyu/p/11128689.html