OpenStack源码分析【2021-10-17】

2021SC@SDUSC
nova
简介:nova负责建虚拟机
horizon->nova(api)
nova内部分为4个部分(组件):
控制节点:
nova api: 接收外部请求
nova scheduler: 调度

计算节点:
nova compute: 具体干活:调虚拟化驱动建虚拟机,虚拟化驱动帮你建出一台虚拟机,这台虚拟机就存活于本计算节点这台机器上。
该节点上还需要装虚拟化软件(xen,kvm…)

nova conductor

流程:
horizon把请求发给nova-api(通过restful api),请求包含对虚拟机规格等的配置信息。
nova-api把request放在消息队列里面(rabbitmq),接收者(监听)是nova-scheduler。消息里面包括:地址、要干什么事(?)。同时把信息在数据库中存储一份。
nova-scheduler从数据库中查现在有多少计算节点,过滤出一台,给它上面的nova-compute发命令:nova-scheduler把request放到另一个消息队列,接收者是nova-compute。但现在nova-compute不知道要建什么样的虚拟机,所以它从数据库中查nova-scheduler暂存的虚拟机配置信息,再调用虚拟化驱动建出相应虚拟机。
但这样不安全:虚拟机和nova-compute在同一台主机上,一旦用户通过虚拟机攻破nova-compute,就可能通过nova-compute拿到数据库中的信息。而且nova-compute有很多个,都要到数据库取消息,对于数据库来说就是串行的,压力大。
所以引入nova-conductor帮nova-compute连数据库,nova-compute将“访问数据库”的request放入mq,nova-conductor监听这个队列,nova-conductor查数据库,然后把结果返回,也是放在mq中,nova-compute监听该队列,获得虚拟机配置信息,再开始干活。
nova流程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值