OpenStack的架构详解

合集下载

基于OpenStack的私有云架构设计与实现

基于OpenStack的私有云架构设计与实现

基于OpenStack的私有云架构设计与实现

私有云是一个基于虚拟化技术的云计算模式,在企业中被广泛应用。随着云计算市场的不断扩大和发展,各种云计算技术也越来越成熟。OpenStack作为一种开源的云计算平台,已经成为了私有云的标准选择。本文将基于OpenStack,探讨基于OpenStack的私有云架构设计与实现。

一、OpenStack简介

OpenStack是一种开源的云计算平台,支持私有云和公有云部署,并提供了一系列的API,允许用户很容易地创建和管理虚拟机、存储和网络资源。OpenStack 有一个庞大的社区,由众多企业和开发者共同构建和维护。

OpenStack由多个组件组成,包括计算、网络、存储和控制器等。其中,计算组件和控制器组件分别构成了Compute和Controller节点。网络组件提供了网络功能,包括虚拟网络和物理网络之间的互联。存储组件允许用户创建、分配、管理存储资源,支持多种存储后端,如Ceph、GlusterFS、iSCSI等。

二、私有云架构设计

基于OpenStack的私有云架构设计可以分为以下几个方面:

1.硬件

硬件是私有云建设中最基础的部分。在私有云中,需要为计算、存储和网络资源分配硬件,这些硬件需要保证性能和可扩展性。对于计算节点,需要选择能够支持虚拟化的CPU和足够的内存。对于存储节点,需要选择高速硬盘和RAID控制器,以保证数据可靠性和性能。对于网络节点,需要选择高性能交换机和路由器,以保证网络带宽和可靠性。

2.软件

软件是建立私有云的核心技术。在私有云中,需要选择适合自己的云平台。OpenStack是一个开源的云平台,拥有庞大的社区和广泛的支持。使用OpenStack

openstack发展历程及其架构简介

openstack发展历程及其架构简介

openstack发展历程及其架构简介

1.0 Openstack介绍

OpenStack既是⼀个社区,也是⼀个项⽬和⼀个开源软件,它提供了⼀个部署云的操作平台或⼯具集。其宗旨在于,帮助组织运⾏为虚拟计算或存储服务的云,为公有云、私有云,也为⼤云、⼩云提供可扩展的、灵活的云计算。

2.0 Openstack版本历程

2.1 2010.10 Austin

作为OpenStack第⼀个正式版本,Austin主要包含两⼦项⽬,Swift是对象存储模块,Nova是计算模块;带有⼀个简单的控制台,允许⽤户通过web管理计算和存储;带有⼀个部分实现的Image⽂件管理模块,未正式发布。

2.2 2011.2 Bexar

Bexar 在此基础上补充了 Image Service (Glance),它在许多⽅⾯与计算和存储有交集。1、镜像代表存储在 OpenStack 上的模板虚拟机,⽤于按需快速启动计算实例;

2、Swift增加了对⼤⽂件(⼤于5G)的⽀持;

3、增加了⽀持S3接⼝的中间件;

4、增加了⼀个认证服务中间件Swauth;

5、Nova增加对raw磁盘镜像的⽀持,增加对微软Hyper-V的⽀持;

6、开始了Dashboard控制台的开发。

2.3 2011.4 Cactus

1、Nova增加新的虚拟化技术⽀持,如LXC容器(Linux containers的简称,是⼀种基于容器的操作系统层级的虚拟化技术)、

VMWare/vSphere、ESX/ESXi 4.1;

2、⽀持动态迁移运⾏中的虚机;

3、增加⽀持Lefthand/HP SAN作为卷存储的后端。

openstackkeystone原理

openstackkeystone原理

openstackkeystone原理

Keystone是OpenStack的身份认证服务组件。它提供了用户、服务和终端设备之间的身份认证、访问控制和授权机制。Keystone使用了多租户模型,允许OpenStack的各个组件和服务以统一的方式进行认证和授权。

Keystone的原理可以分为以下几个方面:

1.架构和组件:

Keystone由多个组件组成,包括:

- 身份服务(Identity Service):负责存储和管理用户、项目、角色和权限等信息。

- 令牌服务(Token Service):负责颁发身份验证令牌以及验证和管理令牌。

- 目录服务(Catalog Service):负责服务目录的管理和查询。

- 策略服务(Policy Service):负责定义和管理访问策略。

- 通知服务(Notification Service):负责发送通知消息以进行审计和监控。

- LDAP驱动(LDAP Driver):负责与LDAP目录服务进行交互。

2.用户认证和授权:

Keystone提供了多种身份认证机制,如用户名和密码、令牌、OpenID Connect、OAuth等。用户在登录时提供凭证进行身份认证。

Keystone通过验证用户的凭证,如用户名和密码,来确定用户的身份。

一旦身份得到确认,Keystone将为用户颁发一个认证令牌。

令牌包含了用户的身份信息以及所具备的角色和权限。Keystone通

过持久化存储(如数据库)或者中间件(如Memcached)来管理和验证令牌。令牌的默认有效期为24小时,过期后用户需要重新进行身份认证。

OpenStack详解

OpenStack详解

<br>

<br>

<br>

<br>

<br>

<br>

<br>

<br>

<br>

<br>

OpenStack入门

OpenStack入门

OpenStack入门之基本组件

写在前面

OpenStack 核心的项目:

Nova 、 Cinder、 Neutron、 Swift、 Keystone、 Glance、 Horizon

1. Nova

又被称为 OpenStack Compute,主要作用是控制虚拟机的创建,以及改变它的容量和配置,还可以做虚拟机的销毁,虚拟机的整个生命周期都是由 Nova 来控制的;

Nova的部署运行一般有两种情况:一类是 Nova 作为 Controller 节点去运行,Controller 节点是用来控制其它的一些计算节点的;另外一类节点就是Compute 节点,是计算节点,上面是运行实际的虚拟机的;

那么有什么区别呢?

∙在 Compute 节点上部署的 Nova,它上面核心运行的一个东西叫作 Nova Compute,主要是为了去对虚拟机进行控制,它去和 Hypevisor 进行交互,对虚拟机进行控制;

∙在 Controller 上运行的 Nova 就相对复杂一些,它有 Scheduler、Conductor、Nova Cell;

∙Scheduler 在用户发起请求的时候决定这个虚拟机应该在哪个机器上启动,应该在哪个计算节点上启动;

∙Conductor 是对所有的计算节点进行一个统一的管理;

∙Nova Cell 的作用是级联

控制虚拟机的生命周期

控制节点:Scheduler(决定虚拟机的启动位置)、Conductor(对所有的计算节点进行统一管理)、Nova Cell(级联)

计算节点:对虚拟机进行控制

openstack技术原理

openstack技术原理

openstack技术原理

OpenStack技术是一个开源的云计算平台,它提供了一组丰富的工具和服务,用于构建和管理公有云和私有云环境。OpenStack技术的原理主要包括以下几个方面:

1. 架构:OpenStack采用了分层架构,包括计算层、网络层和存储层。计算层提供了虚拟机实例的管理和调度功能;网络层提供了虚拟网络的创建和管理功能;存储层提供了对象存储和块存储的服务。这种分层架构使得OpenStack具有高度的可扩展性和灵活性。

2. 组件:OpenStack由多个组件组成,包括Nova、Neutron、Cinder、Glance等。Nova是OpenStack的计算组件,用于管理虚拟机实例的创建、调度和销毁;Neutron是OpenStack的网络组件,用于创建和管理虚拟网络;Cinder是OpenStack的块存储组件,用于提供持久化的块存储服务;Glance是OpenStack的镜像组件,用于管理虚拟机实例的镜像。

3. 虚拟化技术:OpenStack支持多种虚拟化技术,包括KVM、Xen、VMware和Hyper-V等。这些虚拟化技术可以将物理服务器划分为多个虚拟机实例,并提供虚拟机实例的管理和调度功能。

4. API:OpenStack提供了丰富的API接口,用于与OpenStack 进行交互。通过这些API接口,用户可以创建虚拟机实例、创建虚拟网络、上传镜像等操作。同时,OpenStack还提供了CLI命令行

工具和Web界面,方便用户进行操作和管理。

5. 高可用性:OpenStack具有高可用性的特性,可以通过配置多个控制节点和计算节点,实现故障切换和负载均衡。同时,OpenStack还提供了监控和告警功能,可以及时发现和解决故障。

服务器虚拟化技术OpenStackvsProxmoxVE

服务器虚拟化技术OpenStackvsProxmoxVE

服务器虚拟化技术OpenStackvsProxmoxVE 随着云计算的快速发展,服务器虚拟化技术成为了企业管理和运维

中不可忽视的一部分。其中,OpenStack和Proxmox VE是两种备受关

注的虚拟化平台。本文将对它们进行比较和分析,帮助读者更好地了

解它们的优势和适用场景。

一、OpenStack简介

OpenStack是一个用于构建和管理云计算平台的开源软件,它提供

了一系列的组件,用于实现云计算中的虚拟化、网络、存储等功能。OpenStack旨在提供弹性、可扩展、安全的云计算解决方案,被广泛应

用于公共云、私有云和混合云环境。

1.1 OpenStack的特点

OpenStack具有以下特点:

1. 开源:OpenStack是开源软件,允许用户自由访问和修改代码,

满足个性化需求。

2. 弹性扩展:OpenStack采用分布式架构,可以根据需求自由扩展

计算、存储和网络资源。

3. 多租户支持:OpenStack能够实现多个租户共享同一套基础设施,提高资源利用率。

4. 健壮可靠:OpenStack具备高可用性和自动化管理能力,能够保

证云计算平台的稳定运行。

5. 多样化的组件:OpenStack提供了丰富的组件,如Nova、Neutron、Cinder等,可根据需求选择和定制。

1.2 OpenStack的组件

OpenStack包含多个重要组件,如下所示:

1. Nova:用于管理和调度计算资源,提供虚拟机实例的创建、调整

和销毁等功能。

2. Neutron:用于管理网络资源,提供虚拟网络的创建、隔离和连接等功能。

OpenStack云平台核心模块详解

OpenStack云平台核心模块详解
role信息 4. 根据token信息可以知道user1用户可以访问哪些服务、哪些Project,并且在这些Project
中是什么角色 5. 根据user1的可访问的服务、Project列表,在Project中的角色,以及角色对应的policy权
限,在界面上显示user1可访问的服务、项目、资源 6. 当user1点击Instance时,会将请求发给nova的endpoint,nova根据user1的token进行
• launch/terminate:创建虚拟机、终止虚拟机(终止即删除*) • start/shutoff/reboot:虚拟机的开机、关机、重启操作,重启可以是soft/hard reboot • snapshot:创建快照,对虚拟机的disk镜像文件(不含云硬盘)进行全量备份,生成一个类型为
snapshot的image保存在glance中,快照恢复相当于通过snapshot image创建虚拟机 • pause/resume:暂停虚拟机,将虚拟机状态保存到宿主机内存中,resume的时候再从内存中读回
问该项目的资源,每个项目可设置Quota • user(用户):任何使用OpenStack服务的实体,OpenStack 为 nova、cinder、neutron 等服务创建了相应
的 user • group(用户组):用户的集合,可以对group赋予角色,group中的用户都拥有该角色对应的权限 • role(角色):权限的集合,各服务通过自己的policy.json文件定义各角色的权限,默认只有admin和非admin

openstack培训

openstack培训

OpenStack在云计算平台中的应用案例
案例一
01
某公有云服务商使用OpenStack构建了大规模、高可用的云计
算平台,为上百万用户提供了计算、存储和网络服务。
案例二
02
某政府机构使用OpenStack搭建了政务云平台,实现了各部门
信息资源的共享和协同办公,提高了政务服务效率。
案例三
03
某大型互联网公司使用OpenStack进行容器云平台的构建,实
案例一
某大型银行使用OpenStack构建私有云平台,实现了计算 资源的池化和自动化管理,提高了IT效率和资源利用率。
案例二
某大型电商使用OpenStack进行大规模容器编排,实现了 快速应用部署和容器服务的高可用性。
案例三
某电信运营商使用OpenStack进行多租户资源隔离,确保 了不同业务部门之间的资源互不影响,提高了业务连续性 和可靠性。
3
令牌与证书管理
实现令牌和证书的管理,确保身份认证的安全性。
04 OpenStack管理与运维
OpenStack命令行管理工具
命令行工具概览
OpenStack提供了一系列的命令行工具,用于对云环境进行管理和操 作。
命令行工具分类
根据功能不同,OpenStack的命令行工具可以分为身份认证、计算管 理、网络管理、存储管理、镜像管理、块存储管理等多个类别。

openstack架构工作流程

openstack架构工作流程

openstack架构工作流程

OpenStack架构工作流程

OpenStack是一个开源的云计算平台,它提供了一系列的组件,可以帮助用户构建和管理云计算环境。在OpenStack架构中,有多个组件协同工作,以提供完整的云计算服务。本文将介绍OpenStack的架构和工作流程。

一、OpenStack架构

OpenStack的架构由多个组件组成,这些组件可以分为以下三类:

1. 控制节点

控制节点是OpenStack架构中最重要的部分之一。它包括Nova、Neutron、Glance、Cinder、Keystone等组件。这些组件负责管理和控制整个云计算环境。

2. 计算节点

计算节点是运行虚拟机实例的地方。它们与控制节点通信,并接收指

令来创建、销毁或管理虚拟机实例。

3. 存储节点

存储节点是存储虚拟机镜像和数据的地方。它们与控制节点通信,并接收指令来创建、删除或管理存储卷。

二、OpenStack工作流程

1. 用户认证

在使用OpenStack之前,用户必须先进行身份验证。身份验证过程由Keystone完成。用户需要提供用户名和密码才能通过身份验证,并获得访问权限。

2. 资源创建

一旦用户通过身份验证,就可以使用OpenStack创建虚拟机实例、存储卷等资源。用户可以使用Horizon、CLI或API等工具来创建这些资源。在资源创建过程中,OpenStack会根据用户的请求,在控制节点上执行相应的操作。

3. 资源调度

当用户请求创建虚拟机实例时,OpenStack会选择一个计算节点来运行该实例。这个过程称为资源调度。OpenStack使用Nova Scheduler组件来完成此任务。Nova Scheduler根据一系列标准(如计算节点负载、存储容量等)来选择最适合的计算节点。

openstack neutron原理

openstack neutron原理

openstack neutron原理

OpenStack Neutron(先前称为Quantum)是OpenStack项目中的网络服务组件,为云平台提供了虚拟网络的创建、管理和操作能力。它的原理如下:

1. 架构:Neutron采用了插件化的架构,通过各种插件来支持不同的网络技术和设备。它包括核心服务(Core Service)、插件(Plugin)和代理(Agent)三个主要组件。

2. 核心服务:核心服务包括了API服务和插件调度服务。API 服务提供了外部接口,用于接收和转发网络操作请求,并通过RPC(远程过程调用)机制与其他服务通信。插件调度服务用于协调插件的使用和调度,并提供统一的接口给API服务。

3. 插件:插件是Neutron的核心组件,它们负责提供具体的网络功能和技术支持。常见的插件包括Open vSwitch插件、Linuxbridge插件和Cisco插件等。插件通过API与核心服务通信,接收和处理网络请求。

4. 代理:代理是运行在网络节点上的实体,用于处理具体的网络功能和操作。它们包括L3代理、DHCP代理和Metadata代理等。L3代理提供路由功能,负责处理跨子网的数据包;DHCP代理提供DHCP服务,为虚拟机提供动态IP地址;Metadata代理负责处理云平台元数据的访问。

5. 虚拟网络:Neutron通过虚拟网络抽象,将底层物理网络转化为虚拟网络,并为租户提供独立的、可定制的网络环境。虚

拟网络包括了子网、路由和安全组等组件,通过插件和代理来实现不同技术的网络隔离和功能。

OpenStack的架构详解

OpenStack的架构详解

OpenStack的架构详解

OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。

1. OpenStack是什么

OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。

OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。

OpenStackCompute[1],为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(thecloudthroughusersandprojects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于AmazonEC2和RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于WebAPI的功能。

OpenStackObjectStorage[2],是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。

openstack原理

openstack原理

openstack原理

OpenStack原理。

OpenStack是一个开源的云计算平台,它由一系列相互关联的项目组成,包括

计算(Nova)、网络(Neutron)、存储(Cinder、Swift)、身份认证(Keystone)、图像(Glance)、编排(Heat)等。它的设计理念是建立一个可扩展、可靠的云计算平台,使用户能够轻松地部署和管理私有云、公有云和混合云环境。

OpenStack的基本原理是将计算、网络和存储等资源进行虚拟化,通过统一的

管理接口对这些资源进行统一管理和调度。在OpenStack中,计算资源是通过虚拟

机实现的,网络资源是通过虚拟网络实现的,存储资源是通过虚拟存储实现的。这些虚拟化技术使得用户能够灵活地配置和使用云计算资源,提高资源利用率和灵活性。

在OpenStack中,计算资源的虚拟化是通过Nova项目实现的。Nova项目提供

了一套完整的虚拟机管理功能,包括虚拟机的创建、启动、停止、迁移等。它支持多种虚拟化技术,包括KVM、Xen、VMware等,用户可以根据自己的需求选择

合适的虚拟化技术来部署虚拟机。

网络资源的虚拟化是通过Neutron项目实现的。Neutron项目提供了一套完整的网络管理功能,包括虚拟网络的创建、配置、连接等。它支持多种网络模型,包括VLAN、GRE、VXLAN等,用户可以根据自己的需求选择合适的网络模型来部署

虚拟网络。

存储资源的虚拟化是通过Cinder和Swift项目实现的。Cinder项目提供了一套

完整的块存储管理功能,包括卷的创建、挂载、卸载等。Swift项目提供了一套完

基于OpenStack开放云管理平台研究

基于OpenStack开放云管理平台研究

基于OpenStack开放云管理平台研究

一、引言

随着云计算的逐渐成熟,企业在应用部署、资源管理和数据处理等方面面临着越来越多复杂的挑战。多数企业已经认识到了云计算资源共享和使用的好处,但在实现时却面临了安全性、可靠性和灵活性等问题。

OpenStack开放云管理平台是当前业内广泛使用的开源云平台之一,它以开放、可扩展、灵活等特点,为企业提供了一种更加便捷、高效的云计算管理方式。本文将探讨OpenStack开放云管理平台的架构设计、技术特点、应用场景以及未来发展方向等方面,旨在为云计算管理提供一些借鉴价值。

二、OpenStack开放云管理平台架构设计

OpenStack开放云管理平台是由NASA和Rackspace在2010年共同推出,是当前最为流行的开源云平台之一。其核心组件如下:Nova:为用户提供虚拟机实例,能够对资源进行自我管理和自我调整。

Cinder:提供Block Storage(块存储)的服务。

Glance:提供镜像服务,提供用户不同环境下需要的镜像。

Keystone:提供身份验证和授权服务的组件,用于用户的身份验证和授权访问云资源。

Neutron:提供网络服务的管理和配置,可配置虚拟网络、路由器和子网等。

Swift:提供对象存储服务,与传统的基于块的存储不同,这里是基于对象的方式管理数据存储。

三、OpenStack技术特点

1. 开放性

OpenStack是一个开源的云平台,在开源社区中积极发展,且容

易扩展。用户可以不需要购买任何许可证就能自由地访问平台,并灵活自由地使用和部署OpenStack平台。

Openstack云操作系统介绍

Openstack云操作系统介绍

整个集群至少需要一个nova-scheduler实例处于'up'状态。需如果集群中至少有一个novascheduler实例的状态是'up'的,我们就需要查看查看nova-scheduler的日志来进一步确定原因了 。到控制节点上,查看/var/log/nova/scheduler 日志。
tail -f /var/log/nova/scheduler
nova list --all-tenant --host node-4.domain.tld
20
Nova常用命令
[root@node-1 ~]# nova show testvm01
21
Nova常用命令 列出可用的flavor
[root@node-1 ~]# nova flavor-list
定制flavor,flavor name=test500 flavor id=500 ram=512Mb cpu=2
# source ~/openrc # nova show <虚拟机UUID> (虚拟机UUID是 创建失败的虚拟机的UUID)
如上图所示,关键信息是 fault 字段中包含了 ‘No valid host was found’ 这样的信息。如果出现这类关键信息,可以参考下面的解决办法。
35
Nova常见问题--虚机创建失败

OpenStack_介绍

OpenStack_介绍

Millions LOC
19
版本发布
20
生态圈
21
22
23
走进OpenStack
24
Compute - Nova
25
Docker Container Container
HyperV VM
Nova Compute
Allows multiple hypervisor types per cloud. Libvirt / KVM is most commonly used in deployment
Native support since IceHouse
26
Storage - Cinder
主要为虚拟机提供持久化的块存储功能,支持块的创建、挂载卸载、快照 (Snapshot)等生命周期管理,后端可以是DAS、NAS、SAN、对象存储以及分 布式文件系统
Horizon
Cinder CLI
Nova



分布式存储
容器技术(LXC)
Docker, Rocket

网络虚拟化
• Openvswitch, netns, SDN, NFV
8
开源云项目
9
10
从云之巅看OpenStack
11
OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OpenStack的架构详解

OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。

1. OpenStack是什么

OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。

OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。

OpenStackCompute[1],为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(thecloudthroughusersandprojects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于AmazonEC2和RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于WebAPI的功能。

OpenStackObjectStorage[2],是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。

OpenStackImageService[1],是一个虚拟机镜像的存储、查询和检索系统,服务包括的RESTfulAPI允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。VM镜像有四种配置方式:简单的文件系统,类似OpenStackObjectStorage的对象存储系统,直接用Amazon'sSimpleStorageSolution(S3)存储,用带有ObjectStore的S3间接访问S3。

三个项目的基本关系如下图1-1所示:

1-1 OpenStack三个组件的关系

2. 云服务提供商的概念架构

OpenStack能帮我们建立自己的IaaS,提供类似AmazonWebService的服务给客户。为实现这一点,我们需要提供几个高级特性:

a)允许应用拥有者注册云服务,查看运用和计费情况;

b)允许Developers/DevOpsfolks创建和存储他们应用的自定义镜像;

c)允许他们启动、监控和终止实例;

d)允许CloudOperator配置和操作基础架构

这四点都直击提供IaaS的核心,现在假设你同意了这四个特性,现在就可以将它们放

进如下所示的概念架构2-1中。

2-1 OpenStack 概念架构

在此模型中,作者假设了需要与云交互的四个用户集:developers, devops, ownersandoperators,并为每类用户划分了他们所需要的功能。该架构采用的是非常普通的分层方法(presentation, logicandresources),它带有两个正交区域。

展示层,组件与用户交互,接受和呈现信息。Webportals为非开发者提供图形界面,为开发者提供API端点。如果是更复杂的结构,负载均衡,控制代理,安全和名称服务也都会在这层。

逻辑层为云提供逻辑(intelligence)和控制功能。这层包括部署(复杂任务的工作流),调度(作业到资源的映射),策略(配额等等),镜像注册imageregistry(实例镜像的元数据),日志(事件和计量)。

假设绝大多数服务提供者已经有客户身份和计费系统。任何云架构都需要整合这些系统。

在任何复杂的环境下,我们都将需要一个management层来操作这个环境。它应该包括一个API访问云管理特性以及一些监控形式(forms)。很可能,监控功能将以整合的形式加入一个已存在的工具中。当前的架构中已经为我们虚拟的服务提供商加入了monitoring和adminAPI,在更完全的架构中,你将见到一系列的支持功能,比如provisioning和configurationmanagement。

最后,资源层。既然这是一个compute云,我们就需要实际的compute、network和storage资源,以供应给我们的客户。该层提供这些服务,无论他们是服务器,网络交换机,NAS(networkattachedstorage)还是其他的一些资源。

3. OpenStack Compute架构

3.1 OpenStack Compute逻辑架构

OpenStack Compute逻辑架构中,组件中的绝大多数可分为两种自定义编写的Python 守护进程(custom written python daemons)。

a) 接收和协调API调用的WSGI应用(nova-api, glance-api, etc)

b) 执行部署任务的Worker守护进程(nova-compute, nova-network, nova-schedule, etc.)

然而,逻辑架构中有两个重要的部分,既不是自定义编写,也不是基于Python,它们是消息队列和数据库。二者简化了复杂任务(通过消息传递和信息共享的任务)的异步部署。

逻辑架构图3-1如下所示:

3-1 OpenStack Compute逻辑架构

从图中,我们可以总结出三点:

a) 终端用户(DevOps, Developers 和其他的 OpenStack 组件)通过和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)提供端点,初始化绝大多数部署活动(比如运行实例),以及实施一些策略(绝大多数的配额检查)。

b) nova-compute进程主要是一个创建和终止虚拟机实例的Worker守护进程。其过程

相关文档
最新文档