Horizon介绍


Dashboard服务,这里具体的产品就是Horizon
1、它提供一个Web界面操作Openstack的系统
2、使用Django框架基于Openstack API开发
3、支持将Session 存储在DB、Memcached
4、支持集群

安装和配置Horizon


1、安装软件包
[root@linux-node1 ~]# yum install openstack-dashboard -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirror01.idc.hinet.net
* extras: mirrors.163.com
* updates: mirrors.163.com
Package 1:openstack-dashboard-9.0.1-1.el7.noarch already installed and latest version
Nothing to do
[root@linux-node1 ~]#

  

2、更改配置文件
/etc/openstack-dashboard/local_settings
1、把这里改成控制节点的IP,下面的URL的%s调用了它
2、把URL的版本改成v3
3、把角色改成user,目前我们只有user和admin两种角色,通过openstack role list可以查看
[root@linux-node1 ~]# vim /etc/openstack-dashboard/local_settings
[root@linux-node1 ~]#

30行,允许访问的主机改成*,表示所有,逗号留着,表示列表

55行,默认如下

改成如下
配置API版本,去掉除了56行的注释

 

启用对域的支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

通过仪表盘创建用户时的默认域配置为 default :
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "default"

如果您选择网络参数1,禁用支持3层网络服务:
需要把下面的True都改成false
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 = "Asia/Shanghai"

3、重启服务
[root@linux-node1 ~]# systemctl restart httpd.service memcached.service
[root@linux-node1 ~]# [root@linux-node1 ~]# systemctl reload httpd
[root@linux-node1 ~]#

网页登录和操作


浏览器输入
http://192.168.56.11/dashboard
打开如下界面

先用普通用户登录

 

 可以通过此页面登录云主机控制台

点击切换标签,可以看到网络和实例名字

使用admin用户登录

通过页面创建云主机
再次使用demo用户登录,删除云主机

点击启动实例

可以登录控制台

 

虚拟机的创建流程介绍


第一阶段
用户通过keystone认证,获得一个token,就可以请求别的服务了
比如创建虚拟机。nova-api拿着这个token去keystone对比,是否合法
然后nova-api把创建虚拟机这个事件写到库里
第一阶段完成了

第二阶段是nova组件之间的交互
通过rabbitmq消息队列,nova-api把创建虚拟机消息发到消息队列里
其它的nova-compute,nova-conductor以及nova-scheduler是订阅了消息队列这个主题的,不是api主动通知它们,而是它们监听消息队列自己取消息
nova-scheduler先过滤符合条件的计算节点,然后根据权重选择一个最佳的节点
计算权重有一个默认算法,资源使用率低的先创建。以及从数据库里取计算节点数据,然后把计算结果存到数据库里。
其实它计算完毕,还会发消息发送到消息队列里,然后nova-compute从消息队列里取事件(上面图用双向表示了,其实可以再分解详细的)
nova-compute取到创建虚拟机事件,要去数据库里取创建虚拟机的属性(配置等)(图上第9步)
这个图是老图了,因为现在M版的nova-compute不能直接连接数据库的,其实是通过nova-conductor连接数据库的
由此可以看到消息队列的枢纽中心作用。它挂了不影响现网,但是影响创建虚拟机

第三阶段
最后获取镜像,网络,存储资源,分别校验。nova-compute带着token请求的。
比如镜像,它拿着这个token去keystone验证,有没有效。成功后才获得镜像许可

第四阶段
nova-compute通过api调用libvirt创建kvm,同时nova-api不停的轮询查询数据库,看kvm的状态,更新状态给消息队列,然后dashboard取得最新数据状态
图里没画出来

 
 

openstack--8--控制节点部署Dashboard的更多相关文章

  1. openstack的控制节点部署

    openstack的控制节点部署 主要是使用了本地安装的那个镜像. 会出现几个问题, 1.重启服务无法启动. 2.环境变量无法正确配置可以自己配置

  2. 脚本安装Rocky版OpenStack 1控制节点+1计算节点环境部署

    视频安装指南请访问: http://39.96.203.138/wordpress/document/%E8%84%9A%E6%9C%AC%E5%AE%89%E8%A3%85rocky%E7%89%8 ...

  3. OpenStack 存储服务 Cinder介绍和控制节点部署(十五)

    Cinder介绍 OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷.此服务也会激活管理卷的快照和 ...

  4. Openstack 网络服务 Neutron介绍和控制节点部署 (九)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  5. OpenStack 计算服务 Nova介绍和控制节点部署(七)

    介绍 Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这个主要和nova相关,我们把安装为计算节点nova-c ...

  6. 安装Rocky版OpenStack 1控制节点+1计算节点环境部署脚本

    在上一篇文章中叙述了具体的安装部署过程,在这里把相应的部署脚本写出来,供大家参考: 一.执行部署的setup.sh脚本: #!/bin/bash ########################### ...

  7. OpenStack IceHouse 部署 - 3 - 控制节点部署

    Mysql部署配置  安装 安装mysql,mysql的python绑定 apt-get install mysql-server 安装过程中会要求设定mysql的root账户的密码,这里假定设为my ...

  8. Openstack 网络服务 Neutron介绍和控制节点部署 (十)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  9. openstack学习-nove控制节点部署(四)

    nove在openstack非常重要,主要负责创建虚拟机 nova计算服务 API :负责接收和响应外部请求.支持openstack API,EC2 API Cert:负责身份认证EC 2 Sched ...

  10. OpenStack 计算服务 Nova介绍和控制节点部署 (八)

    一)nova在keystone上服务注册 1.1创建nova务实体 [root@controller ~]# source admin-openrc [root@controller ~]# open ...

随机推荐

  1. [SCOI2005]栅栏

    这个题...只能说比较水... 排序后,算一个前缀和,二分dfs查找答案...加上两个剪枝就过了...QVQ 我只能刷这种水题...我太菜了...QVQ #include<iostream> ...

  2. fastjson 在 springboot中的运用

    题记: 项目中开始用是Gson,但是压力测试的时候会出现性能下降明显,不得已换成了fastjson 1.首先引用包 <dependency> <groupId>com.alib ...

  3. Python 连接 redis 模块

    redis 模块使用可以分类为: 连接方式 连接池 操作 String操作 Hash操作 List操作 Set操作 Sort Set操作 管道 发布订阅 (1)操作模式 redis提供两个类Redis ...

  4. HDU 6055 17多校 Regular polygon(计算几何)

    Problem Description On a two-dimensional plane, give you n integer points. Your task is to figure ou ...

  5. Java并发机制和底层实现原理

    Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码转化为汇编指令在CPU上执行.Java中的并发机制依赖于JVM的实现和CPU的指令. Java语言规范第三版中 ...

  6. [转] [Elasticsearch] 数据建模 - 处理关联关系(1)

    [Elasticsearch] 数据建模 - 处理关联关系(1) 标签: 建模elasticsearch搜索搜索引擎 2015-08-16 23:55 6958人阅读 评论(0) 收藏 举报 分类: ...

  7. CentOS 使用 yum 更新软件包与系统

    1.CentOS 更新源配置文件说明 CentOS 6.5 更新源配置文件 /etc/yum.repos.d/CentOS-Base.repo 片段 [base] name=CentOS-$relea ...

  8. tmux学习

    1.基本命令: http://blog.chinaunix.net/uid-26285146-id-3252286.html (重要) http://blog.csdn.net/longxibendi ...

  9. Linux关闭透明大页配置

      一.为何要关闭透明大页 A--MOS获取 . #翻译 由于透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面. 另外,即使在单实例数据库环境 ...

  10. Groovy实现代码热载的机制和原理

    前言: 真的很久没在博客园上更新博客了, 现在趁这段空闲的时间, 对之前接触的一些工程知识做下总结. 先来讲下借用Groovy如何来实现代码的热载, 以及其中涉及到的原理和需要注意的点. 总的来说, ...