文章目录
1.云计算
概念:
狭义:指IT基础设施的交付和使用模式
广义:指服务的交付和使用模式
1.1云计算服务模型
IaaS(基础架构即服务)
- 提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等
- 面向对象一般是IT管理人员
PaaS(平台即服务)
- 把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
- 面向对象一般是开发人员
SaaS(软件即服务)
- 直接通过互联网为用户提供软件和应用程序等服务
- 面向对象一般是普通用户
2. OpenStack简介
- NASA(美国国家航空航天局)和Rackspace共同发起
- 以Apache许可证授权的自由软件和开放源代码项目
- 为公有云及私有云的建设与管理提供软件的开源项目
- 覆盖了网络、虚拟化、操作系统、服务器等各个方面
2.1优势
控制性
完全开源的平台,提供API接口,方便与第三方技术集成
兼容性
openstack兼容其他公有云,方便用户进行数据迁移
可扩展性
模块化设计,可以通过横向扩展,,增加节点、添加资源
灵活性
根据自己的需要建立相应基础设施、增加集群规模
行业标准
众多IT领军企业已经加入到openstack项目
3.openstack核心服务
服务 | 组件名称 | 描述 |
---|---|---|
计算服务 | Nova | 负责实例生命周期管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认KVM),支持横向扩展 |
网络服务 | Neutron | 负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响 |
身份认证服务 | Keystone | 类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机制 |
控制面板服务 | Horizon | 提供一个Web管理界面,与Openstack底层服务进行交互 |
镜像服务 | Glance | 提供虚拟机镜像模版的注册与管理,将做好的操作系统拷贝为镜像模版,在创建虚拟机时直接使用,可支持多格式的镜像 |
块存储服务 | Cinder | 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储 |
对象存储服务 | Swift | 为openstack提供基于云的弹性存储,支持集群无单点故障(备份) |
计量服务 | Ceilometer | 用于度量、监控和控制数据资源的集中来源,为openstack用户提供记账途径 |
4. openstack架构
openstack作为开源、可扩展、富有弹性的云操作系统,其设计基本原则如下:
- 按照不同的功能和通用性划分不同项目,拆分子系统
- 按照逻辑计划、规范子系统之间的通信
- 通过分层设计整个系统架构
- 不同的功能子系统间提供统一的API接口
4.1 概念架构
架构分三层:
全局组件:
keystone:
提供认证和授权
Ceilometer:
提供计量、监控服务
Horizon:
提供可视化管理界面
外部(辅助)组件:
Ironic:
裸金属,提供基础硬件资源
Trove:
提供数据库服务
Sahara和Heat:
对数据编排和分析
核心组件:
Glance:
提供镜像资源
Neutron:
提供网络服务
Cinder:
提供存储服务
Swift:
也是提供存储服务,主要作为Cinder的备份和镜像资源备份
Nova:
整合虚拟机需要的所有组件提供的资源,供给虚拟机使用
4.2逻辑架构
1.每个服务都是一块独立的组件,这些组件组成了openstack架构平台
2.每个组件间通过各自的API接口进行交互,当API接口接收到请求时,会进行预处理,将请求交由keystone进行认证,得到授权后将请求交给组件内部功能模块处理
3.每个服务组件内,有不同的功能模块,这些模块使用AMQP消息代理进行通信
4.3组件通信关系
- 基于AMQP协议的通信
用于每个项目内部各个组件之间的通信 - 基于SQL的通信
用于各个项目内部的通信 - 基于HTTP协议进行通信
通过各项目的API建立通信关系,API都是restful web API
restful:一种交互/通讯的规范
web:由Apache承载API,提供一个web展示页面
API:组件和组件对接的技术(点到点) - 通过Native API实现通信
openstack各组件和第三方软硬件之间的通信(扩展功能组件时使用该方式通信)
4.4物理架构
物理架构为实际的架构,通过将服务分类部署在各个主机节点上,形成openstack架构平台
必要的四类节点:控制节点、网络节点、计算节点、存储节点
控制节点:
对整个架构平台进行控制的节点
其含有两个支持服务:
mysql:用于提供数据库服务
RabbitMQ:提供通信管理、消息队列服务
基础服务:keystone、Glance、Nova、Neutron、Horizon
扩展服务:Cinder、Swift、Trove、Heat、Ceilometer
网络节点:
提供网络服务支持,以Neutron组件提供服务,在其他每个节点上都有其管理的网络接口,用于节点间互相通信
计算节点:
主要以Nova和Ceilometer的部分功能构成
Nova用于管理虚拟机,为其提供必要资源
Ceilometer提供监控服务,对虚拟机实时监控并将信息返回给控制节点
存储节点:
由Cinder和Swift构成,主要为虚拟机提供存储服务和数据备份