Openstack架构概念图-简单汇总

 

OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工做。想要了解openstack,第一步咱们能够观察他的概念图前端

针对上图的翻译+解释:python

上图主要回答了openstack为咱们提供什么服务,它的功能有哪些,固然概念图只是为咱们提供了一个概念,而正如一开始介绍的那样——OpenStack是一个云平台管理的项目,它不是一个软件,这个项目由几个主要的组件组合起来完成一些具体的工做。搞清楚由哪些组件完成这些功能,咱们须要借助下图2,下图为Grizzly的架构图,简述了套件之间是如何运做的:web

OpenStack的Grizzly版共有7个不一样功能套件,分别是:
运算套件Nova:openstack中的核心,负责计算和实施一些策略,不少组件都要经过他进行调度(Nova中的nova-api负责因此API的调度,初始化大多数部署,执行部分策略)
对象储存套件Swift:分布式对象存储,功能相似于hadoop,但是跟hadoop又有很大不一样;在openstack中,swift用于存储建立虚拟机的镜像文件
区块储存套件Cinder:配分块存储,给虚拟机增长一个块存储设备(有点相似于移动硬盘);
网通套件Quantum:经过API来管理的网络架构系统;
身分识别套件Keystone:身份认证功能;
镜像檔管理套件Glance:对镜像文件进行管理;
仪表板套件Horizon:就是一个UI;sql

以上是针对Openstack组件的一些通俗解释,若是你们以为不够详尽,能够查阅一下其余资料:但用过百度一下的朋友就确定会发现,网上流传着好几个不一样版本的架构图,几种架构图描述的方式都相差很大,第一眼看上去甚至都不是一个东西,面对这种状况,咱们能够假设他们都是对的,而后找出他们之间的联系,这样咱们也能够加深对openstack的理解;
如今看一下openstack的逻辑架构:数据库

a) 终端用户经过和nova-api对话来与OpenStack Compute交互。
b) OpenStack Compute守护进程之间经过队列(行为)和数据库(信息)来交换信息,以执行API请求。(交换信息的方式咱们之后会讲)
c) OpenStack Glance基本上是独立的基础架构,OpenStack Compute经过Glance API来和它交互。swift

其各个组件的状况以下:
a) nova-api守护进程是OpenStack Compute的中心。它为全部API查询(OpenStack API 或 EC2 API)提供端点,初始化绝大多数部署活动(好比运行实例),以及实施一些策略(绝大多数的配额检查)。
所以不少相对于openstack独立的基础架构是跟nova-api交换信息的,而不是向其余进程那样使用队列和数据库;
b) nova-compute进程主要是一个建立和终止虚拟机实例的Worker守护进程。基本原理:从队列中接收行为,而后在更新数据库的状态时,执行一系列的系统命令执行他们。
c) nova-volume管理映射到计算机实例的卷的建立、附加和取消。这些卷能够来自不少提供商,好比,ISCSI和AoE。
d) Nova-network worker守护进程相似于nova-compute和nova-volume。它从队列中接收网络任务,而后执行任务以操控网络,好比建立bridging interfaces或改变iptables rules。
e) Queue提供中心hub,为守护进程传递消息。当前用RabbitMQ实现。可是理论上能是python ampqlib支持的任何AMPQ消息队列。
f) SQL database存储云基础架构中的绝大多数编译时和运行时状态。当前普遍使用的数据库是sqlite3(仅适合测试和开发工做),MySQL和PostgreSQL。
g) OpenStack Glance,是一个单独的项目,它是一个compute架构中可选的部分,分为三个部分:
    glance-api:glance-api接受API调用;
    glance-registry: glance-registry负责存储和检索镜像的元数据,实际的Image Blob存储在Image Store中;
    the image store:Image Store能够是多种不一样的Object Store,包括OpenStack Object Storage (Swift);
h) 最后,user dashboard是另外一个可选的项目。OpenStack Dashboard提供了一个OpenStack Compute界面来给应用开发者和devops staff相似API的功能。当前它是做为Django web Application来实现的。固然,也有其余可用的Web前端。(说白了就是个UI)api

接着来看看这个逻辑图在概念图上的映射:网络

经过这样一张图咱们就能够很清楚地了解各个进程的功能,咱们一样能够把各组件映射到它的概念图上:架构

也能够用如下的表示方式来表现它的架构:分布式

或者用思惟导图表示:

经过上述的几个图,咱们基本上能够梳理清Openstack的架构了,经过比较不一样表达方式,能够更透彻地理解一个事物,就像学生时代一直强调的一题多解同样,但愿能以这样的方式加深你们对Openstack架构的理解。

相关文章
相关标签/搜索