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

目录
  • 各组件逻辑关系图
  • 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各组件逻辑运行流程的资料请关注我们其它相关文章!

(0)

相关推荐

  • OpenStack的Swift组件详解

    一:简介 背景 1.Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务(Object Storage Service),并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务.Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式.容器和对象读写操作,适合解

  • openstack云计算组件glance功能镜像及版本介绍

    目录 一 什么是glance 二 为何要有glance 三 glance的功能 四 glance的两个版本 v1 v2 五 镜像的数据存放 六 镜像的访问权限 七 镜像及任务的各种状态 7.1 镜像的状态: 7.2 任务的状态 八 glance包含的组件 九 glance与openstack其他服务的关系 十 glance工作流程详解 注解: A client REST API Glance Domain Controller Registry Layer Glance Store 十一 Dis

  • openstack云计算组件glance部署及操作步骤

    目录 一 简单架构图示参考 二 部署glance step 1:glance关于数据库的操作 step 2:glance关于keystone的操作 step 3:安装软件包 step 4:配置/etc/glance/glance.conf step 5: 初始化数据库glance step 6:启动glance且设置开机启动 三 验证 一 简单架构图示参考 二 部署glance yum install memcached python-memcachedsystemctl enable memc

  • openstack云计算cinder架构及各组件功能介绍

    目录 一 cinder各组件 1.cinder主要组成: 2.cinder各组件功能: 3.nova与cinder的工作原理类似 二 cinder架构图 三 RPC机制 AMQP 模型有四个重要的角色: AMQP消息模型 RPC 发送请求 一 cinder各组件 1.cinder主要组成: #cinder-api #cinder-scheduler #cinder-volume 2.cinder各组件功能: Cinder-api 是 cinder 服务的 endpoint,提供 rest 接口,

  • OpenStack 组件的更新教程

    本节教大家更新 OpenStack 组件的方法.请注意,是更新(Update)而不是升级(Upgrade).更新是给组件打补丁,版本不变:而升级是刷新版本,比如从 kilo 升级到 liberty. 更新真的有必要吗? 对于已经部署好的 OpenStack,我们有更新某个组件的需求吗? 答案是:有! OpenStack 是软件,是软件就会有 bug. OpenStack 包含了很多组件,结构很松散,每个组件可以单独更新,只要保证各个组件都属于同一个大版本(比如 kilo, liberty)就不会

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

    目录 各组件逻辑关系图 Openstack 新建云主机流程图 虚拟机启动过程 各组件逻辑关系图 Keystone:认证服务 Glance:镜像服务 Nova:计算服务 Neutron:网络服务 Cinder:存储服务 Horizon:web 界面 Cellometer:监控计费 Swit:对象存储 Heat:编排服务(通过剧本,批量部署虚拟机) Openstack 新建云主机流程图 keystone 身份认证 填写创建云主机的相关配置–> nova-api --> 将相关信息保存到 MySQL

  • Python celery原理及运行流程解析

    celery简介 celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度.它的执行单元为任务(task),利用多线程,如Eventlet,gevent等,它们能被并发地执行在单个或多个职程服务器(worker servers)上.任务能异步执行(后台运行)或同步执行(等待任务完成). 在生产系统中,celery能够一天处理上百万的任务.它的完整架构图如下: 组件介绍: Producer:调用了Celery提供的API.函数或者装饰器而产生任务并交给任务队列处理的

  • SpringMVC拦截器配置及运行流程解析

    1.与过滤器filter的区别 2.springMVC中拦截器的必须实现的三个方法: 3. 拦截器类的编写: package com.imooc.core; import com.imooc.bean.User; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpS

  • Android StrictMode运行流程(推荐)

    什么是 StrictMode(严苛模式) strictmode是android在 API9后引入的检测影响app运行流畅性的一种机制,例如我们都知道的主线程中不允许有网络操作这条规则就是严苛模式规则的一种. strictmode.java 这个类中设定了许多detect标志位例如 DETECT_NETWORK ,还有许多 penalty标志位例如 PENALTY_NETWORK , DETECT标志位决定strictmode是否要对这项内容进行检测,PENALTY标志位决定了在这项内容发生时是否

  • 浅谈React中组件逻辑复用的那些事儿

    基本每个开发者都需要考虑逻辑复用的问题,否则你的项目中将充斥着大量的重复代码.那么 React 是怎么复用组件逻辑的呢?本文将一一介绍 React 复用组件逻辑的几种方法,希望你读完之后能够有所收获.如果你对这些内容已经非常清楚,那么略过本文即可. 我已尽量对文中的代码和内容进行了校验,但是因为自身知识水平限制,难免有错误,欢迎在评论区指正. 1. Mixins Mixins 事实上是 React.createClass 的产物了.当然,如果你曾经在低版本的 react 中使用过 Mixins,

  • Rainbond使用Dockerfile构建便捷应用运行流程

    目录 Dockerfile构建运行镜像 Dockerfile构建运行镜像 Rainbond平台支持直接通过Dockerfile**构建并运行镜像,操作流程简单,方便进行持续迭代. 操作流程分为以下几步: 在Github上创建Dockerfile项目,Demo项目 Dockerfile内容 ARG VERSION=1.15.0 FROM nginx:${VERSION}-alpine COPY index.html /usr/share/nginx/html/ VOLUME /data EXPOS

  • openstack云计算组件keystone部署及操作使用技巧

    目录 一 前言 二 版本信息 三 部署keystone step 1:准备阶段 step 2:部署mariadb step 3:部署keystone step 4:配置web server整合keystone 四 keystone操作 part 1:创建keystone的catalog part 2:创建域,租户,用户,角色,把四个元素关联到一起 part 3:使用Bootstrap完成part1和part2二者的工作 part 4:创建用于后期测试用的项目,用户,租户,建立关联 part 5:

  • Vue组件层级关系详细分析

    目录 前言 一.全局组件的层级关系 二.局部组件的层级关系 前言 在这之前,我们已经了解到了vue的组件有哪一些以及这些组件有什么作用,关于组件的博客,大家可以看本博主的往期文章:传送门 可以关注更多的博文进行学习了解.好的,我们进入今天的主题,我们知道组件可以进行调用,网页也可以通过分割的方式在页面中进行嵌套,并且可以在组件层级形成父级和子级.兄弟级别的关系,使得网页开发更加的富有层次感. 一.全局组件的层级关系 全局组件之间的层级关系是在vue进行代码程序执行调用的时候才确定的.我们可以通过

  • Redisson 分布式延时队列 RedissonDelayedQueue 运行流程

    目录 前言 基本使用 内部数据结构介绍 基本流程 发送延时消息 获取延时消息 初始化延时队列 总结 前言 因为工作中需要用到分布式的延时队列,调研了一段时间,选择使用 RedissonDelayedQueue,为了搞清楚内部运行流程,特记录下来. 总体流程大概是图中的这个样子,初看一眼有点不知从何下手,接下来我会通过以下几点来分析流程,相信看完本文你能了解整个运行流程. 基本使用 内部数据结构介绍 基本流程 发送延时消息 获取延时消息 初始化延时队列 基本使用 发送延迟消息代码如下,发送了一条延

随机推荐