OpenStack是干嘛的

OpenStack是为云计算服务的,更确切地说,它是工作在IaaS这个层面的一套软件。

我们知道,IaaS全称是“基础设施及服务”,目的是为用户灵活的提供各种资源,从而满足客户的需求。所谓的基础设施,主要就是计算,存储和网络三类资源。那为什么需要OpenStack呢?

云计算的思想是将所有的资源“池”化,也即是说,不管你有多少台服务器,多少个硬盘,我先把它们做成池子,然后再灵活地分配给不同的用户。那么具体谁来做池子,做完池子以后怎么分配给用户,这就是OpenStack做的事情。它就好比电脑的操作系统,每个应用占用多少CPU,占用多少内存,由操作系统来分配。OpenStack就是云计算的操作系统。

OpenStack的组件

以下是5个OpenStack的重要构成部分:
l Nova – 计算服务
l Swift – 存储服务
l Glance – 镜像服务
l Keystone – 认证服务
l Horizon – UI服务

那么OpenStack是如何实现这些功能的呢?先来看个图:

image.png

图中每一个方块我们称之为OpenStack的一个组件。每个组件可以实现特定的功能。多个组件协同合作就可以实现OpenStack的诸多功能。这就是我上面为什么说OpenStack是一套软件而不是一个软件的原因了。从上面就能看出来OpenStack是一种模块化的架构,关于模块化,我们后面会在OpenStack的架构一文中详细分析。

上图中的组件并不是OpenStack全部的组件,在今年10月份发布的Victoria 版本中有超过40个组件。但这并不是一蹴而就的,而是慢慢发展,逐渐添加进来的。在最初的OpenStack版本Austin中只有Nova和Swift这两个组件。由于篇幅所限这里我们只简单介绍几个关键组件方便大家理解:

Nova:Nova是OpenStack最核心的组件,也是最早版本的OpenStack中就存在的两个组件之一。它之所以核心,是因为他负责OpenStack中所有虚拟机的生命周期管理。所谓生命周期管理也就是虚拟机的创建,修改,删除。而虚拟机就是OpenStack要提供给各个租户的最终极产品。其他的组件,都是围绕这个任务展开,要么为虚拟机提供资源,要么为虚拟机提供一些高级特性。比如下面要介绍的其他组件。

Neutron:管理OpenStack的网络资源。为虚机提供网络资源。是除Nova以外我们平时用的最多的组件。

Keystone:为所有的OpenStack组件提供认证和访问策略服务。它可以确保只有合适的人可以在自己合适的权限范围之内做合适的操作。为OpenStack的安全性保驾护航。

Horizon: 如果你不会用命令行,那么你Horizon就是你操作OpenStack的工具,它可以为你提供一个图形化界面,让你用可以用点点点的方式来操控一切。

标签: OpenStack

评论已关闭