Openstack各组件逻辑关系及运行流程解析

 更新时间:2022年04月13日 14:45:29   作者:Tiamon_  
这篇文章主要为大家介绍了Openstack各组件逻辑关系及运行流程解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪

各组件逻辑关系图

Keystone:认证服务

Glance:镜像服务

Nova:计算服务

Neutron:网络服务

Cinder:存储服务

Horizon:web 界面

Cellometer:监控计费

Swit:对象存储

Heat:编排服务(通过剧本,批量部署虚拟机)

Openstack 新建云主机流程图

keystone 身份认证

填写创建云主机的相关配置–> nova-api --> 将相关信息保存到 MySQL

nova-scheduler --> 读取 MySQL 云主机配置信息 --> 读取计算节点资源

nova-compute 通过 nova-conductor 获取云主机配置信息 --> 调取相关模块(neutron、

glance、cinder)进行云主机的创建

虚拟机启动过程

  • 界面或命令行通过RESTful API向keystone获取认证信息。
  • keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。
  • 界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。
  • nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和token。
  • keystone验证token是否有效,如有效则返回有效的认证和对应的角色(注:有些操作需要有角色权限才能操作)。
  • 通过认证后nova-api和数据库通讯。
  • 初始化新建虚拟机的数据库记录。
  • nova-api通过rpc.call向nova-scheduler请求是否有创建虚拟机的资源(Host ID)。
  • nova-scheduler进程侦听消息队列,获取nova-api的请求。
  • nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机。
  • 对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机信息。
  • nova-scheduler通过rpc.cast向nova-compute发送对应的创建虚拟机请求的消息。
  • nova-compute会从对应的消息队列中获取创建虚拟机请求的消息。
  • nova-compute通过rpc.call向nova-conductor请求获取虚拟机消息。(Flavor)
  • nova-conductor从消息队队列中拿到nova-compute请求消息。
  • nova-conductor根据消息查询虚拟机对应的信息。
  • nova-conductor从数据库中获得虚拟机对应信息。
  • nova-conductor把虚拟机信息通过消息的方式发送到消息队列中。
  • nova-compute从对应的消息队列中获取虚拟机信息消息。
  • nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求glance-api获取创建虚拟机所需要镜像。
  • glance-api向keystone认证token是否有效,并返回验证结果。
  • token验证通过,nova-compute获得虚拟机镜像信息(URL)。
  • nova-compute通过keystone的RESTfull API拿到认证k的token,并通过HTTP请求neutron-
  • server获取创建虚拟机所需要的网络信息。
  • neutron-server向keystone认证token是否有效,并返回验证结果。
  • token验证通过,nova-compute获得虚拟机网络信息。
  • nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求cinder-api
  • 获取创建虚拟机所需要的持久化存储信息。
  • cinder-api向keystone认证token是否有效,并返回验证结果。
  • token验证通过,nova-compute获得虚拟机持久化存储信息。
  • nova-compute根据instance的信息调用配置的虚拟化驱动来创建虚拟机。

以上就是Openstack各组件逻辑关系及运行流程解析的详细内容,更多关于Openstack各组件逻辑运行流程的资料请关注脚本之家其它相关文章!

相关文章

  • openstack使用openvswitch实现vxlan的方法

    openstack使用openvswitch实现vxlan的方法

    这篇文章主要介绍了openstack使用openvswitch实现vxlan的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解Openstack环境准备

    详解Openstack环境准备

    本篇文章主要介绍了详解Openstack环境准备,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • OpenStack Mitaka 版本中的 domain 和 admin详解

    OpenStack Mitaka 版本中的 domain 和 admin详解

    这篇文章主要介绍了OpenStack Mitaka 版本中的 domain 和 admin详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • openstack云计算keystone组件工作流程及服务关系

    openstack云计算keystone组件工作流程及服务关系

    这篇文章主要介绍了openstack云计算keystone组件工作流程及服务关系,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • 什么是OpenStack 开源的云计算管理平台项目

    什么是OpenStack 开源的云计算管理平台项目

    OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台
    2016-11-11
  • Openstack 创建项目和虚拟机详细介绍

    Openstack 创建项目和虚拟机详细介绍

    这篇文章主要介绍了Openstack 创建项目和虚拟机详细介绍的相关资料,这里举例说明如何实现,图文教程,需要的朋友可以参考下
    2016-11-11
  • OpenStack初始化浅析

    OpenStack初始化浅析

    OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
    2017-01-01
  • OpenStack手动分布式部署Keystone(Queens版)

    OpenStack手动分布式部署Keystone(Queens版)

    这篇文章主要介绍了OpenStack手动分布式部署Keystone(Queens版),Keystone是OpenStack框架中负责管理身份验证服务访问规则和服务令牌功能的组件,需要的朋友可以参考下
    2023-03-03
  • openstack 虚拟机配置VIP的实现步骤

    openstack 虚拟机配置VIP的实现步骤

    本文主要介绍了openstack 虚拟机配置VIP的实现步骤,包括查询可用子网、创建VIP地址、绑定VIP到虚拟机端口等,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • Fuel 30 分钟快速安装OpenStack(图文教程)

    Fuel 30 分钟快速安装OpenStack(图文教程)

    这篇文章主要介绍了Fuel 30 分钟快速安装OpenStack(图文教程),有兴趣的同学可以了解一下。
    2016-11-11

最新评论