云计算和openstack(T)简介

本文介绍了云计算的基本特征、服务模型和发布模型,包括IaaS、PaaS和SaaS三种服务模型。接着详细探讨了OpenStack,包括其起源、服务、优势和架构。OpenStack是一个开源项目,提供计算、网络、存储等核心服务,并通过多种组件如Nova、Neutron、Keystone等协同工作,具有高度的可扩展性和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

云计算

概述

从微观层面上来讲云计算是指IT基础设施的交付和使用;从宏观层面上来讲云计算是指服务的交付和使用模式

云计算的资源主要包括网络资源、存储资源和计算资源等

从某种程度上讲云计算是一种模型,这个模型可以方便地按需访问一个可配置的计算资源(例如,网络、服务器、存储设备、应用程序以及服务)的公共集。这些资源可以被迅速提供并发布,同时最小化管理成本或服务提供商的干涉。云模型由五个基本特征、三个服务模型和四个发布模型组成,如此使以上成为可能。

基本特征

按需自助服务
视客户需要,可以从每个服务提供商那里单方面地向客户提供计算能力,譬如,服务器时间和网络存储,而这些是自动进行无需干涉的

广泛的网络访问
具有通过规范机制网络访问的能力,这种机制可以使用各种各样的瘦和胖客户端平台(例如,携带电话、笔记本电脑以及PDA)

资源共享
提供商提供的计算资源被集中起来通过一个多客户共享模型来为多个客户提供服务,并根据客户的需求,动态地分配或再分配不同的物理和虚拟资源。有一个区域独立的观念,就是客户通常不需要控制或者需要知道被提供的资源的确切的位置,但是可能会在更高一层的抽象(例如,国家、州或者数据中心)上指定资源的位置。资源的例子包括存储设备、数据加工、内存、网络带宽和虚拟机等

快速的可伸缩性
具有快速地可伸缩性地提供服务的能力。在一些场景中,所提供的服务可以自动地,快速地横向扩展,在某种条件下迅速释放、以及快速横向收缩。对于客户来讲,这种能力用于使所提供的服务看起来好象是无限的,并且可以在任何时间、购买任何数量

可度量的服务
云系统通过一种可计量的能力杠杆在某些抽象层上自动地控制并优化资源以达到某种服务类型(例如,存储、处理、带宽以及活动用户帐号)。资源的使用可以被监视和控制,通过向供应商和用户提供这些被使用服务报告以达到透明化

服务模型

架构即服务 (IaaS)
向客户提供处理、存储、网络以及其他基础计算资源,客户可以在上运行任意软件,包括操作系统和应用程序。用户不管理或者控制底层的云基础架构,但是可以控制操作系统、存储、发布应用程序,以及可能限度的控制选择的网络组件(例如,防火墙)面向对象一般是IT管理人员

平台即服务 (PaaS)
客户使用云供应商支持的开发语言和工具,开发出应用程序,发布到云基础架构上。客户不管理或者控制底层的云基础架构,包括网络、服务器、操作系统或者存储设备,但是能控制发布应用程序和可能的应用程序运行环境配置面向对象一般是开发人员,软件工程师

软件即服务 (SaaS)
客户所使用的服务商提供的这些应用程序运行在云基础设施上。这些应用程序可以通过各种各样的客户端设备所访问,通过瘦客户端界面像WEB浏览器(例如,基于WEB的电子邮件)。客户不管理或者控制底层的云基础架构,包括网络、服务器、操作系统、存储设备,甚至独立的应用程序机能,在可能异常的情况下,限制用户可配置的应用程序设置 面向对象一般是普通用户

发布模型

私有云(使用计费)
云基础架构被一个组织独立地操作,可能被这个组织或者第三方机构所管理,可能存在于某种条件下或者无条件存在。

社区云
云基础架构被几个组织所共享,并且支持一个互相分享概念(例如,任务、安全需求、策略和切合的决策)的特别的社区。可能被这些组织或者第三方机构所管理,可能存在于某种条件下或者无条件存在。

公有云
云基础架构被做成一般公共或者一个大的工业群体所使用,被某个组织所拥有,并出售云服务。

混合云(公有云,私有云)
云基础架构是由两个或者两个以上的云组成,这些云保持着唯一的实体但是通过标准或者特有的技术结合在一起。这些技术使得数据或者应用程序具有可移植性。(例如,在云之间进行负载平衡的Cloud Bursting技术)(硬件资源超负荷)

openstack

概述

NASA(美国国家航空航天局)和Rackspace共同发起

以Apache许可证授权的自由软件和开发源代码项目

为公有云及私有云的建设与管理提供软件的开源项目

覆盖了网络,虚拟化,操作系统,服务器等各个方面

OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。

服务

在这里插入图片描述

nova:openstack通过nova获取虚拟化资源方式是nova通过不同的虚拟化驱动,来调用/分配不同虚拟化技术的资源
nova可以调用各种虚拟化技术的资源,来供给虚拟机运行工作
nova管理着实例(openstack的核心)的整个生命周期

neutron:内网(自己的构建的网络拓扑)和外网的连接,用网络(vlan或不同网段)的方式隔离不同的租户(项目或公司)

keystone:在使用不同的资源和服务时需要进行认证和授权

horizon:控制台提供图形化界面方便管理,同时可以控制底层服务

glance:一般和saas联合使用,直接给客户提供镜像,不用现搭环境

cinder:提供个i虚拟机持久的存储方式

swift:存储静态服务

ceilometer:计量收费

分层理解
openstack有多个核心服务/组件构成
主要有8个核心组件
每个核心组件都是为虚拟机提供服务
理解各个服务组件时做什么的
例:在创建虚拟机时,由nova进行调用各种服务进行创建,调用时需要keystone认证后才可以调用,通过neotron配置网络服务实现通讯。在控制台(horizon)的图形化创建更加方便。glance提供镜像服务(比如快照功能),cinder和swift都是提供存储服务,swift提供关于虚拟机本身的祥光存储服务,由ceilometer进行计量收费

openstack的优势

控制性: 完全开源的平台,提供API接口,方便与第三方技术集成

兼容性: OpenStack兼容其它公有云,方便用户进行数据迁移

可扩展性: 模块化设计,可以通过横向扩展,增加节点,增加资源

灵活性: 根据自己的需要建立相应基础设施,增加集群规模

行业标准: 众多IT领军企业已经加入到OpenStack项目

openstack架构

设计基本原则

按照不同的功能和通用性划分不同的项目和服务且相互隔离,拆分子系统,只通过api作为统一的交互口相互对接

按照逻辑计划,规范子系统之间的通信,api之间进行交互会有特定的方式对不同的组件之间的通讯方式进行规范

通过分层设计整个系统架构;以架构为单位:全局组件、辅助组件、核心组件以单个核心服务/组件进行分层:api(交互入口)、子功能模块、其他组件和组件的通讯、组件内部各子功能模块的通讯都是通过消息队列/代理(rabbitmq)进行,其作为通讯载体,可提高通讯速率

不同的功能子系统间提供统一的api接口,各组件之间通过统一的api接口进行通讯

图解

在这里插入图片描述
Keystone:认证管理服务、提供了其余所有组件的认证信息/令牌的管理、创建、修改等等、使用MySQL等数据库存储认证信息
Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些书库,读数据进行分析在一定条件下出发现货供应动作
控制节点通常来说只需要一个网络端口来用于通信和管理各个节点Horizon:控制台服务,提供了以Web形式对所有节点的所有服务的管理,通常把该服务成为Dashboard

Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供镜像的管理、包含镜像的导入、格式以及制作相应的模板
Nova:计算管理服务,提供了对计算节点的Nova管理、使用Nova-API(入口节点)进行通信
Neutron:网络管理服务、提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理界面
Swift:提供管理存储节点Swift相关、同时提供Swift在Horizon中的管理面板()对象存储
Cinder:提供管理存储节点的Cinder相关、同时提供Cinder在Horizon中的管理面板(块存储)

Trove:提供管理数据库节点的Trove先关、同时提供Trove在Horizon中的管理面板
Heat:提供了基于模板来实现云环境中的资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩、负载均衡等高级特性
Ironic:提供裸金属管理服务,Nova Baremetal驱动程序Sahara:使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群。
在这里插入图片描述
云平台用户在经过Keystone服务认证授权后,通过Horizon或者Reset API模式创建虚拟机服务,创建过程中包括利用Nova服务创建虚拟机实例,虚拟机实例采用Glance提供镜像服务,然后使用Neutron为新建的虚拟机分配IP地址,并将其纳入虚拟网络中,之后在通过Cinder创建的卷为虚拟机挂载存储块,整个过程都在Ceilometer模块资源的监控下,Cinder产生的卷(Volume)和Glance提供的镜像(lmage)可以通过Swift的对象存储机制进行保存。
在这里插入图片描述

OpenStack包括若干个称为OpenStack服务的独立组件所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共api进行交互。
http承载api,httpd提供了一个展示web页面的方式,并且以http的进行通讯

每个OpenStack服务又由若干组件组成。包含多个进程。所有服务至少有一个api进程,用于侦听api请求,对这些请求进行预处理,并将它们传送到该服务的其他组件。除了认证服务,实际工作都是由具体的进程完成的。子功能组件之间的通讯通过rabbitmq消息代理

至于一个服务的进程之间通信,则使用amqp消息代理.服务的状态存储在数拒库中.

openstack组件的通信关系

基于AMQP协议的通信:用于每个项目内部各个组件之间的通信

基于SQL的通信:用于各个项目内部的通信

基于HTTP协议进行通信:通过各个项目的api建立的通信关系,api都是restful web api
restful:是一种交互/通讯的规范
因为API是由Apache提供的,web页面的URL/展示页面
API:组件与组件的对接(是点到点的通信)

通过native api实现通信:openstack各个组件和第三方硬件之间的通信

openstack物理架构

在这里插入图片描述

控制节点

作用
分发任务,主要管理其他节点控制节点,也可以跑实例资源(处理具体任务)

支持服务
MySQL数据库:作为基础/扩展服务产生的数据存放的地方
RabbitMQ消息代理(也称消息中间件):为其他各种服务之间提供了统一的消息通信服务

基础服务
Keystone认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库
Glance镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
Nova计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信
Neutron网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板
Horizon控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard③

扩展服务
Cinder提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板
Swift提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板
Trove提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板
Heat提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
Centimeter提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作

网络接口
通过网络接口管理其他节点的网络,对应的其他节点的管理网络的作用就是接受其他节点管理网络的管理,并将请求转发回去

网络节点

基础服务Neutro

网络接口
管理网络:接受控制节点的任务调度
数据网络:数据库相关的网络管理。包括:数据对接、数据存储,数据同步,和其他节点上的数据网络进行关联
外部网络:负责和外部第三方组件做对接、管理、集成等。

计算节点

基础服务
Nova Hypervisor,实例生命周期的管理,负责调用底层VMM的资源给虚拟机使用
网络插件代理通,过插件和代理来实现网络二层、三层的具体功能②

扩展服务
celiometer Agent计量客户使用的资源量,并根据这个来按量收费

网络接口
管理网络:接受控制节点的网络接口的调度和管理
数据网络:数据库相关的网络管理。包括:数据对接、数据存储,数据同步,和其他节点上的数据网络进行关联

存储节点

基础服务
Cinder提供块存储
Swift提供对象存储

网络接口
管理网络:接受控制节点的网络接口的调度和管理
数据网络“数据库相关的网络管理。包括:数据对接、数据存储,数据同步,和其他节点上的数据网络进行关联

网络节点的组成

提供者网络:Openstack结构内部网络
自服务网络:Openstack架构外部网络

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值