OpenStack必备基础理论知识点整理!
前言
- 本文的介绍以文字为主,内容丰富详细并繁多。慎入!
一: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的套路
2.2:网络节点
- 网络节点只有Neutron组件,网络节点上的neutron安装core plugin(ML2)和service plugin(L3 service),具体的 Service Plugin可以根据你的需求选择
2.3:计算节点
- 包含Nova部分组件和 Neutron部分组件Nova- compute.,Neutron agent
2.4:存储节点
- 安装存储组件的节点,一般有代表性的 Cinder(块存储)和 Swift(对象存储)
三:OpenStack架构
3.1:概述
-
OpenStack由多种服务组成,每种服务具有独立的命名。在整个OpenStack架构中, Keystone提供认证服务,接收来自用户和服务的认证请求,并对其身份进行认证。
各个服务之间通过公用的API接口进行交互。大部分服务均包含一个API进程,用于侦听API请求,根据服务的性质选择处理请求或转发请求。服务进程之间的通讯通过消息队列实现,如AMQP。 -
在部署完成的云系统平台上,用户通过 Dashboard或 RestaRt方式在经 Keystone模块认证授权后,可以执行创建虚拟机服务。通过Nova模块创建虚拟机实例,Nova调用 Glance模块提供的镜像服务,然后调用 Neutron模块提供网络服务。根据需要可以选择给虚拟机増加存储卷,卷功能由 Cinder模块提供服务。整个过程在Ceilometer模块的资源监控下完成。同时 Cinder提供的 Volume和 Glance提供的镜像可以诵讨 Swift对象存储机制

本文介绍了OpenStack的基础理论,包括其起源、核心项目、节点类型及架构等内容。OpenStack是一个开源云计算平台,提供了丰富的API接口,支持计算、存储、网络等资源的管理。
最低0.47元/天 解锁文章
4万+





