OpenStack(一)——OpenStack与云计算概述
一、云计算概述
1、概念
- 狭义的云计算:指 IT 基础设施的交付和使用模式
- 广义的云计算:指服务的交付和使用模式
用户通过网络使用云的资源池(根据自己的需求),使用租赁的形式,按量计费和弹性伸缩模式,能快速获取资源并进行使用,管理体量小,只需要和提供商进行少量的交互即可
2、云计算
- 【1】IaaS(基础架构即服务)
- 提供底层 IT 基础设施服务,包括处理能力、存储空间、网络资源等
- 面向对象一般是 IT 管理人员
- 【2】PaaS(平台即服务)
- 把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
- 面向对象一般是开发人员
- 【3】SaaS(软件即服务)
- 直接通过互联网为用户提供软件和应用程序等服务
- 面向对象一般是普通用户
二、OpenStack 概述
1、OpenStack 简介
- NASA (美国国家航空航天局)和 Rackspace(是一家全球领先的托管服务器及云计算提供商)共同发起
- 以 Apache 许可证(Apache 软件基金会发布的一个自由软件许可证)授权的自由软件和开放源代码项目,不只是一个软件,这个项目由几个主要的组件组合起来完成一些具体的工作
- 为公有云及私有云的建设与管理提供可扩展的弹性的云计算服务(开源项目)
- 覆盖了网络、虚拟化、操作系统、服务器等各个方面
2、OpenStack 服务
服务 | 项目名称 | 描述 |
---|---|---|
Compute (计算服务) | Nova | 负责实例生命周期的管理,计算资源的单位 。对 Hypervisor 进行屏蔽,支持多种虚拟化技术(红帽默认为 KVM),且支持横向扩展 |
Network (网络服务) | Neutron | 负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响 |
Identity (身份认证服务) | Keystone | 类似于 LDAP 服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机制 |
Dashboard (控制面板服务) | Horizon | 提供一个 Web 管理界面与 OpenStack 底层服务进行交互 |
Image Service (镜像服务) | Glance | 提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时可直接使用,可支持多格式的镜像 |
Block Storage (块存储服务) | Cinder | 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储 |
Object Storage (对象存储服务) | Swift | 为 OpenStack 提供基于云的弹性存储,支持集群无单点故障,对静态文件的存储 |
Telemetry (计量服务) | Ceilometer | 用于度量、监控和控制数据资源的集中来源,为 OpenStack 用户提供记账途径 |
3、OpenStack 的优势
- 【1】控制性
- 完全开源的平台,开源的平台意味着不会被某个特定的厂商绑定和限制
- 提供 API 接口,模块化的设计能把遗留的和第三方的技术进行集成,从而来满足自身业务需要
- 【2】兼容性
- OpenStack 兼容其他公有云,方便用户(企业)很容易的将数据和应用迁移
- 【3】可扩展性
- 模块化设计,可以通过横向扩展来增加节点、添加资源
- 【4】灵活性
- 用户可以根据自己的需要建立基础设施,也可以轻松地为自己的集群增加规模
- 【5】行业标准
- 众多行业领军企业已经加入到OpenStack项目
三、Nova
1、Nova的架构
2、Nova处理过程
3、请求一个虚拟机实例过程
四、OpenStack 架构
1、OpenStack 的设计基本原则
- 按照不同的功能和通用性划分不同项目,拆分子系统
- 按照逻辑计划、规划子系统之间的通信
- 通过分层设计整个系统架构
- 不同的功能子系统间提供同一的API接口
2、典型架构图
- OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互
- 每个OpenStack服务又由若干组件组成。包含多个进程。所有服务至少有一个API进程,用于侦听API请求,对这些请求进行预处理,并将他们传送到该服务的其他组件。除了认证服务,实际工作都是由具体的进程完成的
- 至于一个服务的进程之间通信,则使用AMQP消息代理。服务的状态存储在数据库中。
总结
(面试题)请介绍一下OpenStack 8大组件
- Nova
- 负责资源计算分配
- Neutron
- 负责分配网络
- Keystone
- 负责权限管理
- Horizon
- 负责提供管理界面
- Glance
- 负责提供镜像
- Cinder
- 负责提供块存储服务
- Swift
- 负责提供基于云的弹性伸缩、静态文件存储
- Ceilometer
- 负责监控资源和提供计费途径
(面试题)请简单介绍一下OpenStack逻辑架构?
- 【1】按分层介绍了原生架构中的各个组件
- 【2】组件之间的对接是使用API进行点到点的对接
- 【3】单个组件内部,根据设计原则,分为多个子系统,二子系统之间交互式通过AMQP进行交互的