了解OpenStak基础架构
一、云计算服务模型
IaaS(基础架构即服务)
- 提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等
- 面向对象一般是IT管理人员
PaaS(平台即服务)
- 把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
- 面向对象一般是开发人员
SaaS(软件即服务)
- 直接通过互联网为用户提供软件和应用程序等服务
- 面向对象一般是普通用户
二、OpenStack概述
- NASA(美国国家航空航天局)和Rackspace共同发起
- 以Apchae许可证授权的*软件和开放源代码项目
- 为公有云及私有云的建设与管理提供软件的开源项目
- 覆盖了网络、虚拟化、操作系统、服务器等各个方面
服务 | 项目名称 | 描述 |
---|---|---|
Compute (计算服务) |
Nova | 负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展 |
Network (网络服务) |
Neutron | 负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响 |
ldentity (身份认证服务) |
Keystone | 类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机制 |
Dashboard (控制面板服务) |
Horizon | 提供一个Web管理界面,与OpenStack底层服务进行交互 |
lmage Service (镜像服务) |
Glance | 提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时直接使用,可支持多格式的镜像 |
Block Storage (块存储服务) |
Cinder | 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储 |
Object Storage (对象存储服务) |
Swift | 为OpenStack提供基于云的弹性存储,支持集群无单点故障 |
Telemetry (计量服务) |
Ceilometer | 用于度量、监控和控制数据资源的集中来源,为OpenStack用户提供记账途径 |
三、OpenStack优势
控制性:
- 完全开源得平台,提供API接口,方便与第三方技术集成
兼容性:
- OpenStack兼容其他公有云,方便用户进行数据迁移
可扩展性:
- 模块化设计,可以通过横向扩展,增加节点、添加资源
灵活性:
- 根据自己得需要建立相应基础设施、增加集群规模
行业标准:
- 众多IT领军企业已经加入到OpenStack项目
四、OpenStack架构
学习OpenStack得部署和运维之前,应当熟悉其架构和运行机制,OpenStack作为开源、可扩展、富有弹性得云操作系统,其设计基本原则如下:
- 按照不同的功能和通用性划分不同项目,拆分子系统
- 按照逻辑计划、规范子系统之间的通信
- 通过分层设计整个系统架构
- 不同得功能子系统间提供统一的API接口
1、OpenStack概念架构图
云平台用户在经过Keystone服务认证授权后,通过Horizon或者Reset API模式创建虚拟机服务,创建过程中包括利用Nova服务创建虚拟机实例,虚拟机实例采用Glance提供镜像服务,然后使用Neutron为新建的虚拟机分配IP地址,并将其纳入虚拟网络中,之后在通过Cinder创建的卷为虚拟机挂载存储块,整个过程都在Ceilometer模块资源的监控下,Cinder产生的卷(Volume)和Glance提供的镜像(lmage)可以通过Swift的对象存储机制进行保存。
2、OpenStack逻辑架构
- 首先展示了内部核心组件、外部组件、全局组件
- 各核心、辅助组件之间是怎么对接得——API
- 展示了各组件中,一部分核心的功能模块——MQ进行通讯
- 展示openstack原生架构(基础)
OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。
每个OpenStack服务又由若干组件组成。包含多个进程。所有服务至少有一个API进程,用于侦听API请求,对这些请求进行预处理,并将它们传送到该服务的其他组件。除了认证服务,实际工作都是由具体的进程完成的
至于一个服务的进程之间通信,则使用AMQP消息代理。服务的状态存储在数据库中。
openstack设计的基本原则如下:
- 按照不同的功能和通用性划分不同项目,拆分子系统
- 按照逻辑计划、规范子系统之间的通信
- 通过分层设计整个系统架构
- 不同的功能子系统间提供统一的API接口
一个镜像从上传可以使用得几个状态、过程
- 初始化过程——queued
- 导入数据库过程——saving
- 提交给服务识别过程(让服务可调用)——uploding
- 准使用(服务已识别、可调用)——importing
以上表明的是从上传到识别
以下标识是镜像上载完成后的状态类型
- active——表示可使用
- deactivated——表示只对管理员开放的权限
- killed——表示镜像上传中发生错误
- deletd——镜像将在不久后自动删除,镜像不可用(保留数据)
- pending_delete——与deleted类似,但是删除后无法恢复
全局
openstack中由很多核心服务组成(相互独立)
keystone(全局授权、鉴权)
OpenStack组件通信关系
- 基于AMQP协议得通信
用于每个项目内部各个组件之间的通信
- 基于SQL得通信——在不同场景下运用不同的通信方式
用于各个项目内部得通信
-
基于HTTP协议进行通信
通过个项目得API建立的通信关系,API都是RESTful Web API——在控制台上将前端和后端通过restful api网关接口进行通讯
-
通过Native API实现通信
OpenStack各组件和第三方软硬件之间的通信——native api使原生架构与第三方组件进行通讯
,API都是RESTful Web API——在控制台上将前端和后端通过restful api网关接口进行通讯
- 通过Native API实现通信
OpenStack各组件和第三方软硬件之间的通信——native api使原生架构与第三方组件进行通讯
本文地址:https://blog.csdn.net/weixin_47403060/article/details/110953069