OpenStack 每半年发布一个版本,版本以字母顺序命名,现在已经到第 14 个版本 Newton(字母 N)。
OpenStack最初只有两个模块(服务),现在已经有 20+(见下图),每个模块作为独立的子项目开发。
OpenStack 最核心的地方:
作为 IaaS 层的云操作系统,OpenStack 为虚机提供并管理三大类资源:计算、网络和存储。
OpenStack 架构
下图是 OpenStack 的 Conceptual Architecture
- 中间菱形 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
在 Logical Architecture 中,可以看到每个服务又由若干组件组成。 以 Neutron 为例,包含
- 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