标签:
文/康鹏
俗话说,不会写文章的厨师不是一个好程序员,作为一枚既能文(码字)又能武(搬砖)的好厨师,不放点大招,怎么对得起咱这张脸?在这最美人间四月天,小e特邀 eSDK 开发部敲得了一手好代码,烧得了一桌好菜,写得了一篇好文,实乃居家旅行杀人越货必备之选的康大厨——康鹏,精心烹饪一桌精美的 OpenStack 大餐,邀君共享!
春风十里,不如听君一席,OpenStack 私人课堂今日开课,每周一期,期期不落,总有一款适合你~
如今在全球开源云计算领域,已走过近六个年头的 OpenStack 可以说是如日中天。从2010年诞生至今,OpenStack 凭借其开放先进的架构、高效的社区开发、灵活的部署模式,迅速赢得了业界的广泛认可,并成为当今全球最具影响力的云计算开源项目。那么,到底如何理解 OpenStack?OpenStack 可以做什么?春风给不了你答案,我们给你!
什么是 OpenStack?
要了解 OpenStack,最有效的一种方法是将其与 Linux 进行比较。我们经常听到这样的说法:OpenStack 之于云就如 Linux 之于服务器。如果说 Linux 是为单个服务器提供开源的操作系统的话,那么 OpenStack 便是为云基础架构提供开源的操作系统。操作系统是底层硬件和应用层程序之间的一个桥梁,它屏蔽掉各种底层硬件接口的差异,提供给应用程序一个统一的 API。OpenStack 作为一个开源的云操作系统,其实也是类似的原理:它把各种分散的硬件,组成了一个很大的硬件集群,在上面分布了各种资源,如计算资源、存储资源、网络资源等。开发者不需要关注这些资源在什么地方,只需要通过 OpenStack 提供一个统一的 API,就可以在自己的应用程序中去调用到各种资源,来完成应用程序想做的事情。
(点击可放大图片)
OpenStack 是做什么的?OpenStack 主要可以为现在的云计算时代提供如下几种服务:计算服务、存储服务以及网络服务。提供这些服务少不了周边的各种辅助性服务,比如说身份的认证,它可以用于对这些资源的权限的各种控制,另外这些资源的使用应该有一个友好的 UI,所以还要有一个管理界面。当然,要想把这些服务做好,还需要一些比如说计费服务,如果不能精确地度量这些资源的使用情况,是无法收费的。模版制作服务,比如说你要提供一些对这些资源非常方便使用的工具。还有数据库的服务,上面提到的这些服务还要往 PaaS 做一次转变,所以也需要将各种数据保存在 OpenStack 自己的数据库中,方便查询和使用,数据库服务是一个新的 OpenStack 重要组件 。当然后边还有很多的服务,比如说裸机部署服务,提供这种云的自动部署。这里面很多项目还是一些孵化项目,还没有合并到主版本,就不一一列举了。
(点击可放大图片)
这些服务是由一些开源的项目来支撑,计算服务是由 Nova 项目来支撑,存储服务有三个对应的主要项目:一个是 swift,它提供对象存储;Cinder 用于提供块存储,可以认为是一个网络磁盘;Glance 其实也不算是一个严格意义上的存储,它提供的是虚拟机的模板。同时还有认证服务,认证服务也可以用于别的功能,在 OpenStack 里面主要是 KeyStone 项目来支撑的。然后就是网络服务,这种云里面的网络在 OpenStack 里面是由 Neutron 这个组件或者说项目来支撑。综合这些服务,它提供了一个比较完整的基础设施这一层(也就是我们常说的 IaaS 层)的一个云服务。
整体来看的话,其实每个组件都需要有认证服务来支撑,每一个服务,每一个资源,都需要先去认证才能进行各种操作。当然也需要对每种资源进行精确的度量,来进行计费、优化等。所以需要有一个叫 Ceiloneter 的服务,在这里主要充当计量的作用。当然还有各种主要的服务,Nova 主要服务计算资源的管理,Neutron 主要负责网络资源的操作。Glance 负责镜像的管理,swift 负责对象存储,Cinder 负责块存储,Heat 是做资源的统一的编排,提供一些比较高级的部署服务,Horizon 主要是做所有这些资源的管理UI。它们的架构都是分布式,每一块都可以拆开部署,每个组件也可以部署在多个物理机上。其实是一个比较松散,低耦合的架构。
(点击可放大图片)
看到这里,你可能会问,这些 Nova,Cinder,究竟是什么东东呢?这么多服务的名称要怎么记才能记得住呢?请留意下一期【OpenStack美味硬菜】,味道更赞哦!
【OpenStack头道鲜】春风十里,不如听君一席,康大厨私人课堂开讲啦!
标签:
原文地址:http://blog.csdn.net/huawei_esdk/article/details/51160512