OpenStack services

本节将详细描述OpenStack服务。

Compute service overview(计算服务概述)

使用OpenStack云计算计算主机和管理系统。OpenStack计算是一个“基础架构即服务”(IaaS)系统的重要组成部分。主模块是在Python中实现的。

OpenStack Compute及其组件包括以下领域:

nova-api service

接收并响应终端用户计算API调用。服务支持OpenStack计算API,Amazon EC2 API,一种超级管理员提供执行管理操作的Admin API。它执行一些政策和提升者大多数编制活动,如运行一个实例。

nova-api-metadata service

接受从实例元数据请求。 nova-api-metadata通常使用在与nova-network安装在多主机模式下运行。更多,详见Metadata service

nova-compute service

守护进程,它负责管理程序api创建和终止虚拟机实例。例如:

  • XenAPI for XenServer/XCP
  • libvirt for KVM or QEMU
  • VMwareAPI for VMware

处理是相当复杂的。基本上,这个守护进程从队列中接收行动并执行一系列的系统命令,如启动一个KVM实例和数据库中更新它的状态。

nova-scheduler service

从虚拟机实例的请求队列启动一个虚拟机以及确定哪个计算服务器主机运行这个虚拟机。

nova-conductor module

介导nova-compute服务和数据库之间的交互。它消除了直接访问云数据库由nova-compute服务。nova-conductor模块横向尺度。然而,不要将它部署在nova-compute服务节点上运行。

nova-cert module

nova-consoleauth daemon

nova-novncproxy daemon

nova-spicehtml5proxy daemon

nova-xvpvncproxy daemon

Storage concepts

OpenStack堆栈使用下列存储类型:

注意:1、您不能像传统硬盘使用 OpenStack Object Storage。 OpenStack Object Storage为了获得其他收益而放松了一些约束POSIX-style文件系统。你可以通过一个API使用HTTP访问的对象。后来你没有提供原子操作(即依靠最终一致性),您可以轻松地扩展存储系统,避免失败的中心点。

2、 OpenStack Image service是在openstack集群下用于管理的虚拟机映像,而不是存储虚拟机镜像。它提供了一个抽象不同的方法——一座桥到存储来存储,而不是存储本身。

3、OpenStack Object Storage 可以自己工作,对象存储(swift)产品可以单独使用的计算(nova)产品。

Object Storage service overview

OpenStack对象存储是一种多租户对象存储系统。它是高度可伸缩的,通过RESTful HTTP API可以管理大量的非结构化数据以低成本。

它包括以下组件:

Proxy servers (swift-proxy-server)

Account servers (swift-account-server)

Container servers (swift-container-server)

Object servers (swift-object-server)

Various periodic processes

WSGI middleware

swift client

swift-init

swift-recon

swift-ring-builder

Block Storage service overview

OpenStack Block Storage 将持久性存储添加到一个虚拟机。 Block Storage为管理卷提供了基础设施,与 OpenStack Compute 相互作用为实例提供卷。这个服务还支持管理卷快照,和卷类型。

Block Storage service由以下部分组成:

cinder-api

接受请求,并将请求送到cinder-volume

cinder-volume

直接与Block Storage和cinder-scheduler交互。还是通过消息队列。cinder-volume响应发送到块存储服务读写请求来维护状态。它可以与多种存储提供商通过驱动程序的体系结构。

cinder-scheduler daemon

选择最优存储提供节点上创建卷。

cinder-backup daemon

cinder-backup daemon提供任何类型的备份卷备份存储。

Networking service overview

它包括以下组件:

neutron-server

接受和API请求路由到适当的OpenStack网络插件的行动。

OpenStack Networking plug-ins and agents

插入和拔掉港口,创建网络或子网,并提供IP寻址。这些插件和代理根据不同供应商和技术用于特定的云。OpenStack网络附带插件和代理思科虚拟和物理开关,NEC OpenFlow产品,Open vSwitch,Linux桥接,VMware NSX等车型的底盘产品。

普通代理L3(第三层),DHCP(动态主机IP寻址),和一个插件的代理。

Messaging queue

所使用的大多数neutron-server OpenStack网络设施之间路由信息和各种代理。还可以作为数据库存储网络状态为特定的插件。

OpenStack网络主要与OpenStack计算为其提供网络和连接实例。

Dashboard overview

OpenStack仪表板是一个模块化的Django web应用程序提供了一个图形界面OpenStack服务。

仪表板通常部署在Apache mod_wsgi。您可以修改仪表板代码以使它适合不同的网站。

从网络体系结构的角度来看,这项服务必须访问客户和每个OpenStack的公共API服务。为其他服务使用管理员功能,它必须连接到管理API端点,它不应该由客户访问。

Identity service overview

OpenStack身份管理服务提供一个单点集成身份验证、授权和目录服务。

身份服务通常是第一个服务用户与之交互。一旦身份验证,最终用户可以使用自己的身份访问其他OpenStack服务。同样,其他OpenStack服务利用身份服务确保用户是他们说他们是谁,发现在其他服务中部署。服务还可以与一些外部集成用户身份管理系统(如LDAP)。

身份服务通常是第一个服务用户与之交互。一旦身份验证,最终用户可以使用自己的身份访问其他OpenStack服务。同样,其他OpenStack服务利用身份服务确保用户是他们说他们是谁,发现在其他服务中部署。服务还可以与一些外部集成用户身份管理系统(如LDAP)。用户和服务可以找到其他服务通过使用服务目录,这是由身份管理服务。顾名思义,一个服务目录是可用的服务的集合在一个OpenStack部署。每个服务可以有一个或多个端点,每个端点可以三种类型之一:管理,内部或公共场合。在生产环境中,不同的端点类型可能驻留在单独的网络接触到不同类型的用户,是为了安全起见。例如,公共API网络可能是可见的互联网用户可以管理自己的云。管理API可能局限于组织内的运营商网络管理云基础设施。内部网络API可能会限制包含OpenStack的主机服务。此外,OpenStack支持可伸缩性的多个区域。为简单起见,本指南使用的管理网络端点类型和默认RegionOne地区。在一起,区域、服务和端点标识服务包括服务目录中创建一个部署。每个OpenStack服务在您的部署需要服务条目存储在相应的端点标识服务。这一切都已完成后身份服务已经安装和配置。

身份服务包含这些组件:

Server

一个集中的服务器使用RESTful接口提供身份验证和授权服务。

Drivers

驱动程序或服务后端集成到集中式服务器。他们是用于访问存储库中的身份信息外部OpenStack,并且可能已经存在在OpenStack部署的基础设施(例如,SQL数据库或LDAP服务器)。

Modules

中间件模块OpenStack的地址空间中运行的组件是使用单位服务。这些模块拦截服务请求,提取用户凭证,并将它们发送到中央服务器进行授权。之间的集成中间件模块和OpenStack组件使用Python Web服务器网关接口。

openstack介绍(二)的更多相关文章

  1. OpenStack学习系列-----第一篇 OpenStack介绍

    刚开始接触OpenStack,被它所承诺的前景,以及现在业界对它的期望吸引(OpenStack被誉为21世纪的Linux开源社区,可以预见其的发展前景是何其广阔.).怎么说呢,我现在也暂时相信,Ope ...

  2. Lucene.Net 2.3.1开发介绍 —— 二、分词(六)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(六) Lucene.Net的上一个版本是2.1,而在2.3.1版本中才引入了Next(Token)方法重载,而ReusableStrin ...

  3. Lucene.Net 2.3.1开发介绍 —— 二、分词(五)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(五) 2.1.3 二元分词 上一节通过变换查询表达式满足了需求,但是在实际应用中,如果那样查询,会出现另外一个问题,因为,那样搜索,是只 ...

  4. Lucene.Net 2.3.1开发介绍 —— 二、分词(三)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(三) 1.3 分词器结构 1.3.1 分词器整体结构 从1.2节的分析,终于做到了管中窥豹,现在在Lucene.Net项目中添加一个类关 ...

  5. Lucene.Net 2.3.1开发介绍 —— 二、分词(四)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(四) 2.1.2 可以使用的内置分词 简单的分词方式并不能满足需求.前文说过Lucene.Net内置分词中StandardAnalyze ...

  6. Lucene.Net 2.3.1开发介绍 —— 二、分词(二)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(二) 1.2.分词的过程 1.2.1.分词器工作的过程 内置的分词器效果都不好,那怎么办?只能自己写了!在写之前当然是要先看看内置的分词 ...

  7. Lucene.Net 2.3.1开发介绍 —— 二、分词(一)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(一) Lucene.Net中,分词是核心库之一,当然,也可以将它独立出来.目前Lucene.Net的分词库很不完善,实际应用价值不高.唯 ...

  8. {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm

    Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...

  9. MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习

    MySQL之多表查询 阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建 ...

  10. MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理

    MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...

随机推荐

  1. <转> Struct 和 Union区别 以及 对内存对齐方式的说明

    转载地址:http://blog.csdn.net/firefly_2002/article/details/7954458 一.Struct 和 Union有下列区别: 1.在存储多个成员信息时,编 ...

  2. 常见 WEB 安全漏洞(转)

    SQL注入 成因:程序未对用户的输入的内容进行过滤,从而直接代入数据库查询,所以导致了sql 注入 漏洞 . 思路:在URL处可以通过 单引号 和 and 1=1 and 1=2 等语句进行手工测试s ...

  3. Open-sourcing LogDevice, a distributed data store for sequential data

    https://logdevice.io/blog/2018/09/12/open-sourcing-announcement.html September 12, 2018   We are exc ...

  4. 关于left join遇到where就不管用的问题

    今天做了个存储过程,需要的功能是查询所有人的得分,有人没分就给零分,显而易见这里用左外连接是没有问题的, 但是在连接完之后有个根据时间筛选功能,于是我加了where条件判断,这时候没有想到的事情发生了 ...

  5. css 样式(checkbox开关、css按钮)

    checkbox开关 css .iosCheck { /* Blue edition */ } .iosCheck input { display: none; } .iosCheck i { dis ...

  6. tomcat 1)启动时不识别执行启动命令 2)启动报错 3)关闭不了,用myEclipse启动时显示jvm_bind,端口占用

  7. 部署asp.net网站的小问题

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG   web.config  修改 trust level="Full"

  8. laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)

    laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...

  9. Spring注解实现原理

    ​[Spring如何使用注解机制完成自动装配] Java实例构造时会调用默认父类无参构造方法,Spring正是利用了这一点,让"操作元素的代码"得以执行.   [两种处理策略] ( ...

  10. CodeForces - 660F:Bear and Bowling 4(DP+斜率优化)

    Limak is an old brown bear. He often goes bowling with his friends. Today he feels really good and t ...