Openstack架构概念图-简单汇总

2024-03-10 22:59

本文主要是介绍Openstack架构概念图-简单汇总,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

针对上图的翻译+解释:

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

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

以上是针对Openstack组件的一些通俗解释,如果大家觉得不够详尽,可以查阅一下其他资料:但用过百度一下的朋友就肯定会发现,网上流传着好几个不同版本的架构图,几种架构图描述的方式都相差很大,第一眼看上去甚至都不是一个东西,面对这种情况,我们可以假设他们都是对的,然后找出他们之间的联系,这样我们也可以加深对openstack的理解;
现在看一下openstack的逻辑架构:

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

其各个组件的情况如下:
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)

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

通过这样一张图我们就可以很清楚地了解各个进程的功能,我们同样可以把各组件映射到它的概念图上:

也可以用以下的表示方式来表现它的架构:

或者用思维导图表示:

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

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************

这篇关于Openstack架构概念图-简单汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795804

相关文章

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

防止SpringBoot程序崩溃的几种方式汇总

《防止SpringBoot程序崩溃的几种方式汇总》本文总结了8种防止SpringBoot程序崩溃的方法,包括全局异常处理、try-catch、断路器、资源限制、监控、优雅停机、健康检查和数据库连接池配... 目录1. 全局异常处理2. 使用 try-catch 捕获异常3. 使用断路器4. 设置最大内存和线

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl