Horizon介绍
Horizon是一个web接口,使得云平台管理员以及用户可以管理不同的OpenStack资源以及服务。
- 提供一个Web界面操作OpenStack系统
- 使用Django框架基于OpenStack API开发
- 支持将session存储在DB、Memcached
- 支持集群
虚拟机创建流程
- 第一步,图形界面输入用户名密码到keystone进行认证,认证通过之后会分配一个token,然后使用该token即可访问其他服务;
- 第二步,将创建虚拟机的REST API请求发送给nova-api(携带token);
- 第三部,nova-api拿着此token到keystone查询是否合法;
- 第四步,nova-api和数据库进行交互,将要创建的虚拟机信息写入到数据库;
- 第五步,nova-api发送请求至rabbitMQ消息队列;
- 第六步,nova scheduler监听消息队列,获取请求信息,根据算法指定的具体的计算节点,将虚拟机生成信息放入消息队列;
- 第七步,nova scheduler和数据库进行交互,将虚拟机生成的信息写入到数据库;
- 第八步,被指定的nova computer监听消息队列,获取nova scheduler消息,进行虚拟机创建;
- 第九步和第十步,新版的openstack,nova computer到数据库查询需要通过nova conductor,nova computer与nova conductor通过消息队列进行交互;
- 第十一步,nova conductor更新数据库信息,然后nova computer从数据库获取到虚拟机的创建信息后进行下一步创建虚拟机的操作;
- 第十二步,联系glance获取镜像;
- 第十三步,glance联系keystone进行认证;
- 第十四步,联系neutron获取网络;
- 第十五步,neutron联系keystone进行认证;
- 第十六步,nova computer联系cinder获取磁盘;
- 第十七步,cinder联系keystone进行认证;
- 最终,nova computer调用KVM创建虚拟机。
一)部署neutron
1.1 安装软件包
# yum install openstack-dashboard -y
1.2 修改配置文件
vim /etc/openstack-dashboard/local_settings OPENSTACK_HOST = "controller" #在控制节点上配置仪表盘以使用 OpenStack 服务 OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST #启用第3版认证API OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user" #配置角色 ALLOWED_HOSTS = ['*', ] #允许所有主机访问仪表板 OPENSTACK_API_VERSIONS = { #配置API版本 # "data-processing": 1.1, "identity": 3, "volume": 2, "compute": 2, } OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True #启用对域的支持 OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'default' #创建用户时的默认域配置为 default OPENSTACK_NEUTRON_NETWORK = { #使用单一扁平网络,禁用支持3层网络服务 'enable_router': False, 'enable_quotas': False, 'enable_ipv6': 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 = "Asia/Shanghai" #修改时区
1.3重启Apache与memcaches服务重启
systemctl restart httpd memcaches
1.4 访问web界面
访问地址:http://10.0.0.101/dashboard
默认域:default
用户名:demo 密码:demo
用户名:admin 密码:redhat
来源:https://www.cnblogs.com/jimmy-xuli/p/8858016.html