一,OpenStack概述
前言
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台
1.云计算概述
概念
- 狭义的云计算是指IT基础设施的交付和使用模式
- 广义的云计算是指服务的交付和使用模式
云计算资源
- 网络资源
- 存储资源
- 计算资源
2.云计算服务模型
laaS(基础架构即服务)
- 提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等
- 面向对象一般时IT管理人员
用户能从中申请到硬件或虚拟硬件,包括裸机或虚拟机,然后在上边安装操作系统或其他应用程序
OpenStack就是一种laaS
PaaS(平台及服务)
- 把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
- 面向对象一般是开发人员
用户能从中申请到一个安装了操作系统以及支撑应用程序运行所需要的运行库等软件的物理机或虚拟机,然后在上边安装其他应用程序,但不能修改已经预装好的操作系统和运行环境
SaaS(软件即服务)
- 直接通过互联网为用户提供软件和应用程序等服务
- 面向对象一般是普通用户
用户可以通过网络以租赁的方式来使用一些软件,而不是购买,比较常见的模式是提供一组账号密码
3.OpenStack概述
OpenStack是一个云操作系统,它控制整个数据中心的大型计算、存储和网络资源池,所有这些都是通过一个仪表板进行管理的,仪表板为管理员提供控制,同时授权用户通过web界面提供资源。
- NASA(美国国家航空航天局)和Rackspace共同发起
- 以Apache许可证授权的自由软件和开放源代码项目
- 为公有云即私有云的建设与管理提供软件的开源项目
- 覆盖了网络、虚拟化、操作系统、服务器等各个方面
4.OpenStack是什么?
目前最流行的开源操作系统内核。
-
资源抽象
OpenStack将各类硬件资源,通过虚拟化与软件定义的方式,抽象成资源池。
-
资源分配与负载调度
OpenStack根据管理员/用户的需求,将资源池中的资源分配给不同的用户,承载不同的应用。
-
应用声明周期管理
OpenStack已经可以提供初步的应用部署/撤除、自动规模调整能力。
-
系统运维
OpenStack已经可以提供一定的系统监控能力。
-
人机交互
OpenStack提供人机接口,外界可以通过API、命令行或图形界面的方式参与OpenStack进行交互。
5.OpenStack不是什么?
OpenStack不是虚拟化:
-
OpenStack的架构定位与技术范畴
- OpenStack只是系统的控制面。
- OpenStack不包括系统的数据面组件,如hypervisor、存储和网络设备等。
-
云和虚拟化有着关键的区别
云计算:IT能力服务化; 按需使用,按量计费; 多租户隔离;
虚拟化:环境隔离,资源复用; 降低隔离损耗,提升运行效率; 提供高级虚拟化特性。
虚拟化是实现云计算的技术支撑手段之一,但并非云计算的核心关注点。
OpenStack不是云:
-
OpenStack只是构建云的关键组件。
内核、骨干、框架、总线。
-
为了构建一个云,还需要许多东西:
6.OpenStack常见的8个核心项目
服务 | 项目名称 | 描述 |
---|---|---|
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用户提供记账途径 |
7.OpenStack优势
OpenStack 在控制性、 兼容性、 可扩展性、 灵活性方面具备有优势, 它可能成为云计算领域的行业标准。
控制性:完全开源的平台,提供API接口,方便与第三方技术集成
兼容性:OpenStack兼容其他共有云,方便用户进行数据迁移
可扩展性:模块化设计,可以通过横向扩展,增加节点、添加资源
灵活性:根据自己的需要建立相应基础设施、增加集群规模
行业标准:众多IT领军企业已经加入到OpenStack项目
二,OpenStack架构
1.概述
学习OpenStack的部署和运维之前,应当熟悉其架构和运行机制,OpenStack作为开源、可扩展、富有弹性的云操作系统,其设计基本原则如下:
- 按照不同的功能和通用性划分不同项目,拆分子系统
- 按照逻辑计划、规范子系统之间的通信
- 通过分层设计整个系统架构
- 不同的功能子系统间提供统一的API接口