第 2 章 OpenStack 架构

OpenStack 每半年发布一个版本,版本以字母顺序命名,现在已经到第 14 个版本 Newton(字母 N)。

OpenStack最初只有两个模块(服务),现在已经有 20+(见下图),每个模块作为独立的子项目开发。

第 2 章 OpenStack 架构

OpenStack 最核心的地方:

第 2 章 OpenStack 架构

作为 IaaS 层的云操作系统,OpenStack 为虚机提供并管理三大类资源:计算、网络和存储。

OpenStack 架构

下图是 OpenStack 的 Conceptual Architecture

第 2 章 OpenStack 架构

  • 中间菱形 VM 是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语)。
  • Nova:管理 VM 的生命周期,是 OpenStack 中最核心的服务。
  • Neutron:为 OpenStack 提供网络连接服务,负责创建和管理L2、L3 网络,为 VM 提供虚拟网络和物理网络连接。
  • Glance:管理 VM 启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像。
  • Cinder:为 VM 提供块存储服务。Cinder 提供的每一个 Volume 在 VM 看来就是一块虚拟硬盘,一般用作数据盘。
  • Swift:提供对象存储服务。VM 可以通过 RESTful API 存放对象数据。作为可选的方案,Glance 可以将镜像存放在 Swift 中;Cinder 也可以将 Volume 备份到 Swift 中。
  • Keystone:为 OpenStack 的各种服务提供认证和权限管理服务。简单的说,OpenStack 上的每一个操作都必须通过 Keystone 的审核。
  • Ceilometer:提供 OpenStac k监控和计量服务,为报警、统计或计费提供数据。
  • Horizon:为 OpenStack 用户提供一个 Web 的自服务 Portal。

 

哪些是 OpenStack 的核心服务呢? 很显然:

Nova 管理计算资源,是核心服务。

Neutron 管理网络资源,是核心服务。

Glance 为 VM 提供 OS 镜像,属于存储范畴,是核心服务。

Cinder 提供块存储,VM怎么也得需要数据盘吧,是核心服务。

Swift 提供对象存储,不是必须的,是可选服务。

Keystone 认证服务,没它 OpenStack 转不起来,是核心服务。

Ceilometer 监控服务,不是必须的,可选服务。

Horizon 大家都需要一个操作界面吧。

 

核心服务内部的组成结构

Logical Architecture

第 2 章 OpenStack 架构

在 Logical Architecture 中,可以看到每个服务又由若干组件组成。 以 Neutron 为例,包含

 第 2 章 OpenStack 架构

  • Neutron Server、Neutron plugins 和 Neutron agents
  • Network provider
  • 消息队列 Queue
  • 数据库 Neutron Database

 

强调一点:

上面是 Logical Architecture,描述的是 Neutron 服务各个组成部分以及各组件之间的逻辑关系。

而在实际的部署方案上,各个组件可以部署到不同的物理节点上。

 

OpenStack 本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。

这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。

当然从另一个角度讲,这也使得 OpenStack 比一般系统复杂,学习难度也更大。

 

------------------------------------------引用来自-------------------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587909&idx=1&sn=b1297dc5cb49323a36a367122c1b1c4f&chksm=8d3081dcba4708ca61eacafb9d312e8278cbe380a00f01cc8f7cdba0bc1da1797f90df133051&scene=21#wechat_redirect