前言
- 本文的介绍以文字为主,内容丰富详细并繁多。慎入!
一:OpenStack概述
1.1:OpenStack起源
- OpenStack 是 Rackspace(一 家 美 国 的 云 计 算 厂 商 ) 和 美 国 国 家 航 空 航 天 局(National Aeronautics and Space Administration, 简称 NASA) 在 2010 年共同发起了OpenStack 项目。 由 Rackspace 贡献存储源码(Swift)、 NASA 贡献计算源码(Nova)。在 2010 年的 7 月发起了 OpenStack 项目。
1.2:什么是OpenStack?
- OpenStack 是一个通过数据中心控制计算资源、 存储资源和网络资源的云平台。 同时它又是一款开源软件, 以 Apache 许可证授权的自由软件和开放源代码项目, 支持所有类型的云环境。
- OpenStack 的目标是提供简单实施、 可扩展以及丰富的功能集的云产品, 来自全世界的云计算专家共同维护该云项目。 OpenStack 通过多种补充服务提供了 IaaS 解决方案,每一种服务均提供了相应的应用程序接口(Application Programming Interface, 简称 API),以促进各组件之间的整合。
- OpenStack 被用来提供公有云以及私有云的建设以及管理。 作为一个开源项目, 其社区规模涵盖 130 家企业以及 1350 位开发人员。这些机构与个人都将 OpenStack 作为 IaaS 资源的通用前端。
- OpenStack 覆盖了网络、 虚拟化、 操作系统、 服务器等各个方面。 一般情况下, 每半年左右更新一次版本。 下面表中列出了常见的 8个核心项目(即 OpenStack 服务)。
1.3:OpenStack常见的8个核心项目
服务 | 项目名称 | 解释 |
---|---|---|
Compute(计算服务) | Nova项目 | 负责实例生命周期的管理, 计算资源的单位。 对 Hypervisor 进行屏 |
蔽, 支持多种虚拟化技术(红帽默认为 KVM), 支持横向扩展。 |
||
Network(网络服务) | Neutron项目 | 负责虚拟网络的管理, 为实例创建网络的拓扑结构。 是面向租户的网 |
络管理, 可以自定义网络, 并使租户之间互不影响。 |
||
Identity(身份认证服务) | Keystone项目 | 类似于 LDAP 服务, 对用户、 租户和角色、 服务进行认证与授权, 并 |
且支持多认证机制。 |
||
Dashboard(控制面板服务) | Horizon服务 | 提供一个 Web 管理界面, 与 OpenStack 底层服务进行交互。 |
Image Service(镜像服务) | Glance项目 | 提供虚拟机镜像模板的注册与管理, 将做好的操作系统复制为镜像模 |
板, 在创建虚拟机时直接使用。 可支持多格式的镜像。 |
||
Block Storage(块存储服务) | Cinder | 负责为运行实例提供持久的块存储设备, 可进行方便的扩展, 按需付 |
费, 支持多种后端存储。 |
||
Object Storage(对象存储服务) | Swift | Swift 为 OpenStack 项目 |
提供基于云的弹性存储, 支持集群无单点故障。 |
||
Telemetry(计量服务) | Ceilometer项目 | 用于度量、 监控和控制数据资源的集中来源, 为 OpenStack 用户提供 |
记账途径。 |
1.4:OpenStack的优势
- OpenStack 在控制性、 兼容性、 可扩展性、 灵活性方面具备有优势, 它可能成为云计算领域的行业标准。
- 控制性: 完全开源的平台, 模块化的设计, 提供相应的 API 接口, 方便与第三方技术集成, 从而满足自身业务需求。
- 兼容性: OpenStack 兼容其他公有云, 方便用户进行数据迁移
- 可扩展性: Openstack 采用模块化的设计, 支持主流发行版本的 Linux, 可以通过横向扩展, 增加节点、 添加资源。
- 灵活性: 用户可以根据自己的需要建立基础设施, 也可以轻松地为自己的群集增加规模 。
- Openstack 项目采用 Apache2 许可, 意味着第三方厂家可以重新发布源代码。行业标准: 众多 IT 领军企业都加入到 OpenStack 项目, 意味着 OpenStack 在未来可能形成云计算行业标准。
二:OpenStack的节点类型
2.1:控制节点
- 顾名思义就是OpenStack中实现数据中心控制的节点,管理 OpenStack的所有服务组件,所有组件不管在哪里,都需要在控制节点上完成类似注册的工作
- 控制节点必须安装三种类型的软件
- 第一种
- 控制接节点上必须安装的是一些相对于 Openstack服务来说的底层的软件,这些底层的软件需要为openstock组件来提供服务,这些软件有DB软件,消息队列软件, Memorycache和Etcd等
- 第二种
- 除了底层软件之外,控制节点上必须安装三个 OpenStack的核心组件
- Keystone和glance是完整的安装在控制节点上的,Nova安装了一部分,Nova的安装是为了节点上的计算服务
- Glance服务是可以控制节点上剥离的,一般 Glance占用资源小。一般大家都安装在控制节点上的
- 控制节点是可以安装 Nova computed的,但是生产环境是不会这么干的
- 第三种
- 除了底层服务软件和核心组件之外,OpenStack还支持其他可选的组件,比如你的集群中有存储接口,那么在 OpenStack上需要安装管理存储节点和对应的服务组件等等,类似核心组件Nova的套路
- 第一种