Openstack组件实现原理 — Nova 体系结构

目录

  • 目录
  • 前文列表
  • Nova体系结构
  • 虚拟机实例化流程

前文列表

Openstack组件部署 — Overview和前期环境准备
Openstack组建部署 — Environment of Controller Node
Openstack组件部署 — Keystone功能介绍与认证实现流程
Openstack组件部署 — Keystone Install & Create service entity and API endpoints
Openstack组件部署 — keystone(domain, projects, users, and roles)
Openstack组件实现原理 — Keystone认证功能
Openstack组建部署 — Glance Install
Openstack组件实现原理 — Glance架构(V1/V2)
Openstack组件部署 — Nova overview
Openstack组件部署 — Nova_安装和配置Controller Node
Openstack组件部署 — Nova_Install and configure a compute node

Nova体系结构


Nova主要有API、Compute、Conductor、Scheduler四个核心服务组成,这些服务之间通过AMQP消息队列来进行通信。

Client:Nova Client能够让Tenant管理员或用户终端提交指令,是Openstack官方为了简化用户对RESTful API的使用所提供的API封装,Client能够将用户的请求转换为标准的HTTP请求。

API(nova-api service):nova-api service能够接收和响应Client的Compute API调用,所以API就是Client进入Nova的HTTP接口。

Compute(nova-compute service):nova-compute service是一个通过hypervisor APIs(虚拟化层API)来实现创建和终止虚拟机实例的守护进程,Compute通过和VMM的交互来运行虚拟机并管理虚拟机的生命周期。

Scheduler(nova-scheduler service):nova-scheduler service会从queue中接收一个虚拟机实例的请求,并确定该实例能够运行在哪一台Compute server中。Scheduler通过读取数据库的内容,从可用的池中选择最合适的Compute Node来创建新的虚拟机实例。

Conductor(nova-conductor):nova-conductor module能够协调nova-compute service和database之间的交互,Conductor为数据库访问提供了一层安全保障。

Queue:queue是Nova 服务组件之间传递信息的中心枢纽。通常使用AMQP(高级消息队列协议Advanced Message Queuing Protocol)的RabbitMQ消息队列来实现。

注意:因为Scheduler只能读取数据库内容,和API通过Policy机制来限制数据库的访问,所以Scheduler和API这两个服务都可以直接访问数据库。但是支持引入了Conductor服务之后,更加规范的方法是通过Conductor服务来对数据库进行操作。

虚拟机实例化流程

  • Step1:首先用户执行Nova Client提供的用于创建虚拟机的指令
  • Step2:nova-api service监听到来自于Nova Client的HTTP请求,并将这些请求转换为AMQP消息之后加入消息队列Queue
  • Step3:通过消息队列Queue调用nova-conductor service
  • Step4:nova-conductor service从Queue接收到虚拟机实例化请求消息后,进行一些准备工作(EG. 汇总HTTP请求中所需要实例化的虚拟机参数)
  • Step5:nova-conductor service通过Queue告诉nova-scheduler去选择一个合适的Compute Node来创建虚拟机,此时nova-scheduler会读取数据库的内容
  • Step6:nova-conductor从nova-scheduler得到了合适的Compute Node的信息后,在通过Queue来通知nova-compute service实现虚拟机的创建

送虚拟机实例化的过程可以看出,Nova中最重要的4个服务之间的通信都是通过Queue来实现的。这符合松耦合的实现方式。

时间: 2024-08-04 12:18:38

Openstack组件实现原理 — Nova 体系结构的相关文章

Openstack组件实现原理 — OpenVswitch/Gre/vlan

目录 目录 前文提要 Neutron 管理的网络相关实体 OpenVswitchOVS OVS 的架构 VLan GRE 隧道 Compute Node 中的 Instance 通过 GRE 访问 Public Network 涉及的 Linux 网络技术 前文提要 Openstack组件部署 - Overview和前期环境准备 Openstack组建部署 - Environment of Controller Node Openstack组件部署 - Keystone功能介绍与认证实现流程 O

Openstack组件实现原理 — Keystone认证功能

目录 目录 前言 Keystone安装列表 Keystone架构 Keystone的管理对象 一个理解Keystone管理对象功能的例子 Keystone管理对象之间的关系 Keystone V3的新特性 V3的改进 Authorization授权功能的应用 Authentication认证功能的应用过程 前言 Keystone实现始终围绕着Keystone所实现的功能来展开,所以在理解其实现之前,建议大家尝试通过安装Keystone这一个过程来感受Keystone在Openstack架构中所充

Openstack组件实现原理 — Glance架构(V1/V2)

目录 目录 Glance 安装列表 Glance Image service Image service 的组件 Glance-Api Glance-Registry Glance-db Image StoreStore Backend Image Glance 架构 Glance Restful API V1 Glance Restful API V2 Glance 安装列表 Openstack组建部署 - Glance Install Glance Image service Image s

Openstack组件部署 — Netwotking service组件介绍与网络基本概念

目录 目录 前文列表 Openstack Networking serivce 基本的Neutron概念 Neutron的抽象对象 网络networks 子网subnets 路由器routers 端口 Neutron的Public外部网络和Private内部网络 Neutron的security groups安全组 虚拟机如何连接到Internet外网 前文列表 Openstack组件部署 - Overview和前期环境准备 Openstack组建部署 - Environment of Cont

Openstack组件部署 — Networking service_安装并配置Controller Node

目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 配置服务组件 配置 Modular Layer 2 ML2 插件 配置Linux 桥接代理 配置layer-3代理 配置DHCP代理 配置元数据代理 配置计算使用网络 完成安装 前文列表 Openstack组件部署 - Overview和前期环境准备 Openstack组建部署 - Environm

Openstack组件部署 — Nova_安装和配置Controller Node

目录 目录 前文列表 Prerequisites 先决条件 To create the databases To create the service credentials Create the Compute service API endpoints Install and configure components Install the packages Edit the etcnovanovaconf file Populate the Compute databases Finali

Openstack组件部署 — Nova overview

目录 目录 前文列表 前言 Compute service overview Nova 的组件 nova-api service nova-api-metadata service nova-compute service nova-scheduler service nova-conductor module nova-cert module nova-network worker daemon nova-consoleauth daemon nova-novncproxy daemon no

开启云之旅:OpenStack组件简介

随着越来越多的企业考虑选择不同的私有云平台,组织了解开源的OpenStack与市场上其他流行的云计算软件之间的区别是很重要的.本文我将介绍OpenStack和一些必备的OpenStack组件. OpenStack生态系统 OpenStack和Amazon EC2非常类似,两大平台都允许用户使用仪表盘或者API部署虚拟机.除OpenStack免费之外,两大产品的重大差别是Amazon EC2是一个公有云服务,而OpenStack允许你构建自己的私有云或者订阅OpenStack公有云厂商的服务. O

有了它,可以快速高效部署OpenStack组件

Packstack使用了Puppet模块的一个实用程序,可以在一个或多个服务器上部署完整的OpenStack云操作系统.这意味着它会自动部署Nova.Glance.Horizon.Swift和其他OpenStack组件,从而简化了复杂且耗时的过程. Red Hat的RDO OpenStack社区开发的Packstack,可以简化OpenStack安装过程,通过自动部署OpenStack组件. Packstack使用了Puppet模块的一个实用程序,可以在一个或多个服务器上部署完整的OpenSta