openstack中horizon服务的主要功能(openstack.创建实例的工作流程,分析各个组件间是如何协同工作的)

:暂无数据 2026-09-20 21:50:01 0

openstack中horizon服务的主要功能(openstack.创建实例的工作流程,分析各个组件间是如何协同工作的)

其实openstack中horizon服务的主要功能的问题并不复杂,但是又很多的朋友都不太了解openstack.创建实例的工作流程,分析各个组件间是如何协同工作的,因此呢,今天小编就来为大家分享openstack中horizon服务的主要功能的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

openstack.创建实例的工作流程,分析各个组件间是如何协同工作的

OpenStack创建实例的工作流程涉及多个组件,包括 Nova、Neutron、Glance等。以下是OpenStack创建实例的工作流程以及各个组件的协同工作方式:
1.用户使用Horizon或API创建实例请求。
2.Horizon或API将实例请求发送给Nova API。
3.Nova API将实例请求发送给Nova Scheduler,Nova Scheduler选择一个合适的计算节点创建实例。
4.Nova Scheduler通过RPC调用Nova Compute来创建实例。
5.Nova Compute创建实例并将实例状态更新到Nova数据库。
6.Nova Compute通过RPC调用Neutron来创建实例的网络。
7.Neutron创建实例的网络并将网络状态更新到Neutron数据库。
8.Nova Compute使用Glance API来下载实例镜像。
9.Glance API从镜像仓库中下载实例镜像并将镜像缓存到Glance Image Cache中。
10.Nova Compute使用Qemu/KVM等虚拟化技术来启动实例,并将实例状态更新到Nova数据库。
11.实例启动后,Nova Compute将实例的元数据信息发送给Nova Metadata Service。
12.Nova Metadata Service将实例的元数据信息发送给Nova API。
13.Nova API将实例的元数据信息发送给Horizon或API,用户可以通过Horizon或API访问实例的元数据信息。
在整个过程中,各个组件的协同工作是通过OpenStack中的消息队列系统RabbitMQ来实现的。当一个组件需要与另一个组件通信时,它会将消息发送到RabbitMQ中,另一个组件则会从RabbitMQ中接收消息并进行处理。通过消息队列的方式,各个组件之间可以实现异步通信,从而提高系统的可靠性和稳定性。
总的来说,OpenStack创建实例的工作流程涉及多个组件的协同工作,通过消息队列系统实现各个组件之间的通信和协作,从而实现实例的创建、网络的配置、镜像的下载等操作

如何调试和修改OpenStack中的Horizon部分

  Openstack 有很多项目,比如 nova 是虚拟机管理,neutron 是虚拟网络管理, glance 是存储管理,而 horizon 是负责 Openstack 的统一界面。horizon 的源代码和 neutron 的不太一样,分布在两个地方,一个是/usr/lib/python2.7/dist-packages/horizon 下面,这里放的是一些最基本的、可以共享的类、表格和模板等。另一个是/usr/share/openstack-dashboard 下面,这里放的是跟界面有直接关系、更加具体的类、表格和模板等,也是我们需要修改的地方。
  Horizon 是一个基于 Django 的项目,如果熟悉 Django 的同学会发现其实 Horizon openstack-dashboard 里面的文件命名与摆放位置与 Django 几乎是一样的:
  .../openstack-dashboard/
  - bin/
  - openstack_dashboard/
  - static/
  - manage.py
  - settings.py
  从这个文件夹的结构就可以看出来,openstack-dashboard 其实就是 Django 的一个 project,而openstack_dashboard 是一个 app。进入 app,我们可以看到,其中一些比较重要的文件和文件夹有:
  openstack_dashboard/
  - __init__.py
  - views.py
  - urls.py
  - settings.py
  - dashboards/
  - enabled/
  - static/
  - templates/
  - test/
  ...
  是不是很熟悉?一下子就能知道各个文件和文件夹是用来干嘛的。url.py 负责最顶层的 url 跳转, views.py 负责接受和处理请求然后返回结果,static 里面放静态资源, templates 里面放模板, test 里面放 unittest。只有两个文件夹需要探索一下,dashboards 和 enabled。如果进到 enabled 文件夹里去看一下的话会发现,里面有好多添加和删除 panel 还有 group 的例子,其实这里就是一个可以比较简单的在 horizon 里面注册我们自己想要新建的 panel 的地方。例如我们可以把_admin_add_panel.py.example 的后缀去掉,变成_admin_add_panel.py,然后修改其中的内容:
  # The name of the panel to be added to HORIZON_CONFIG. Required.
  PANEL = ’plugin_panel’
  # The name of the dashboard the PANEL associated with. Required.
  PANEL_DASHBOARD = ’admin’
  # The name of the panel group the PANEL is associated with.
  PANEL_GROUP = ’admin’
  # Python panel class of the PANEL to be added.
  ADD_PANEL = \
  ’openstack_dashboard.dashboards.admin.plugin_panel.panel.PluginPanel’
  这样,我们就在一个叫做 admin 的 dashboard 里面添加了一个叫做 plugin_panel 的 panel,并且告诉 horizon 具体的定义将会在openstack_dashboard.dashboards.admin.plugin_panel.panel.PluginPanel 中出现。
  那这个时候我们就要去 dashboards 里面打量打量,然后做些具体的事情啦。首先我们可以看到 dashboards 的结构是这样的:
  dashboards/
  - __init__.py
  - admin/
  - project/
  -router/
  - settings/
  由此可知,horizon 现在共有三个 dashboards,分别是 admin,project,和 router。admin 代表的是管理员可以看到的界面,project 代表的是用户可以看到的界面,两者在操作权限上会有一定的区别。而 router 的功用我也不是特别清楚。简单保险起见,我们的自定义 panel 就落户在 admin 中。admin 文件夹中包括了很多文件和子文件夹,我就不在这里一一赘述了。我们直接在其中创建一个子文件夹叫做 plugin_panel,然后再这个子文件夹中创建四个文件,使得这个文件夹看起来是这样的:
  plugin_panel/
  - __init__.py
  - panel.py
  - url.py
  - views.py
  待会儿 PluginPanel 这个类就会定义在 panel.py 中,而 url.py 和 views.py 将会分别承担这一层的路由跳转和收发请求及回复的作用。

openstack是什么管理平台

OpenStack属于IAAS,首先要了解一下对于云计算的服务模式提出了3个服务层次:
Iaas:提供给用户的是云计算基础设施,包括CPU、内存、存储、网络等其他的资源服务,用户不需要控制存储与网络等基础设施。
Paas:提供给用户的是云计算中的开发和分发应用的解决方案,用户能够部署应用程序,也可以控制相关的托管环境,比如云服务器及操作系统,但用户不需要接触到云计算中的基础设施。
Saas:提供给用户的是云计算基础设施上的应用程序,用户只需要在客户端界面访问即可使用到所需资源,而接触不到云计算的基础设施。
***隐藏网址***
Openstack最初是由NASA和Rackspace共同发起的云端计算服务项目,该项目以Apache许可证授权的方式成为了一款开源产品,目的是将多个组件整合后从而实现一个开源的云计算平台,目前Openstack项目正在被红帽、IBM、AMD、Intel、戴尔、思科、微软等超过一百家厂商共同研发,并已经支持了几乎所有的常见云计算环境,拥有了良好的可扩展性,而且部署搭建Openstack服务也变得十分简单,目前国内对于云计算的需求也逐渐增加,华胜天成、高德地图、京东、阿里巴巴、百度、中兴、华为等中国企业也加入到了Openstack项目研发当中,Openstack项目也正在随着全球内得到了众多厂商的参与支持而快速成熟。
Open是开放,Stack则是堆砌之意,合起来就是将众多的功能服务堆积起来的集合,让人们通过Openstack云计算项目,能够将诸如计算能力、存储、网络和软件等资源抽象成服务,以便让用户可以通过互联网远程来享用,付费的形式也变得因需而定,调整方便,拥有极强的虚拟可扩展性,是公共和私有云的建设与管理软件中的优秀开源项目。
Openstack作为一个云平台的管理项目,其功能组件覆盖了网络、虚拟化、操作系统、服务器等多个方面,每个功能组件交由不同的项目委员会来研发和管理,目前核心的项目包括有:
功能 项目名称 描述
计算服务 Nova 负责虚拟机的创建、开关机、挂起、迁移、调整CPU、内存等规则。
对象存储 Swift 用于在大规模可扩展系统中通过内置的冗余及高容差机制实现对象存储的系统。
镜像服务 Glance 用于创建、上传、删除、镜像信息的虚拟机镜像查找及索引系统。
身份服务 Keystone 为其他的功能服务提供身份验证、服务规则及服务令牌的功能。
网络管理 Neutron 用于为其他服务提供云计算的网络虚拟化技术,可自定义各种网络规则,支持主流的网络厂商技术。
块存储 Cinder 为虚拟机实例提供稳定的数据块存储的创建、删除、挂载、卸载、管理等服务。
图形界面 Horizon 为用户提供简单易用的Web管理界面,降低用户对功能服务的操作难度。
测量服务 Ceilometer 收集项目内所有的事件,用于监控、计费或为其他服务提供数据支撑。
部署编排 Heat 实现通过模板方式进行自动化的资源环境部署服务。
数据库服务 Trove 为用户提供可扩展的关系或非关系性数据库服务。

关于openstack中horizon服务的主要功能到此分享完毕,希望能帮助到您。

openstack中horizon服务的主要功能(openstack.创建实例的工作流程,分析各个组件间是如何协同工作的)

本文编辑:admin

更多文章:


二郎神杨戬简笔画(二郎神怎么画)

二郎神杨戬简笔画(二郎神怎么画)

本篇文章给大家谈谈二郎神杨戬简笔画,以及二郎神怎么画对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月22日 10:50

service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)

service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)

大家好,关于service pack 3很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思的知识点,相信应该可以解决大家的一

2026年9月22日 10:20

html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)

html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)

本篇文章给大家谈谈html代码怎么写大佬教程,以及html网页的题来个大佬,写代码,题目在图上对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月22日 10:10

结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)

结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)

本篇文章给大家谈谈结构体内又一个struct,以及c++ 在结构体中再嵌入一个结构体如何调用对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年9月22日 09:40

next是什么意思英语(next是什么单词)

next是什么意思英语(next是什么单词)

本篇文章给大家谈谈next是什么意思英语,以及next是什么单词对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年9月22日 07:50

美国参议院人数(美国每个州的议员人数取决于什么)

美国参议院人数(美国每个州的议员人数取决于什么)

大家好,今天小编来为大家解答以下的问题,关于美国参议院人数,美国每个州的议员人数取决于什么这个很多人还不知道,现在让我们一起来看看吧!

2026年9月22日 05:20

高中信息技术python(高考信息技术用的是什么语言)

高中信息技术python(高考信息技术用的是什么语言)

今天给各位分享高考信息技术用的是什么语言的知识,其中也会对高考信息技术用的是什么语言进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年9月22日 02:50

cocos creator中文(cocoscreator和cocoscreator3d的区别)

cocos creator中文(cocoscreator和cocoscreator3d的区别)

各位老铁们好,相信很多人对cocos creator中文都不是特别的了解,因此呢,今天就来为大家分享下关于cocos creator中文以及cocoscreator和cocoscreator3d的区别的问题知识,还望可以帮助大家,解决大家的

2026年9月22日 02:30

二进制转换十进制函数(二进制如何转换成十进制数)

二进制转换十进制函数(二进制如何转换成十进制数)

这篇文章给大家聊聊关于二进制转换十进制函数,以及二进制如何转换成十进制数对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年9月22日 01:30

大一程序设计基础题库(c语言程序设计试题)

大一程序设计基础题库(c语言程序设计试题)

今天给各位分享c语言程序设计试题的知识,其中也会对c语言程序设计试题进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年9月22日 01:00

最近更新

青海西宁网络公司如何选择靠谱的?
2026-09-22 12:14:35 浏览:0
常德做网站需要多少钱?
2026-09-22 12:14:01 浏览:0
城口网本地生活服务怎么找?
2026-09-22 12:13:28 浏览:0
热门文章

wait for you杨和苏(大家听下(wait for you)这首英文歌的开头那段音乐)
2026-06-13 16:20:04 浏览:22
刷关键字排名怎么操作最有效?
2026-09-14 20:02:13 浏览:13
oppo a9拆机教程(oppoa9拆机教程)
2026-06-13 10:40:02 浏览:12
标签列表