OpenStack —— 原理架构介绍(一)-阿里云开发者社区

开发者社区> 技术小胖子> 正文

OpenStack —— 原理架构介绍(一)

简介:
+关注继续查看

一、OpenStack 简介

    Openstack是一个控制着大量计算能力、存储、乃至于整个数据中心网络资源的云操作系统,通过Dashboard这个Web界面,让管理员可以控制、赋予他们的用户去提供资源的权限(即:能够通过Dashboard控制整个Openstack云计算平台的运作)。

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

    Openstack的发展非常快,而且由于其开源的本质,所以导致了即便是前后相隔的两个不同版本,也可能会出现比较大的区别。所以在我们初习Openstack的时候,应该考虑从一个体系相对成熟,资料相对丰富的版本入手。当然如果你拥有良好的英文阅读习惯的话,Openstack的官网就提供了非常完善的最新版本的文档资料。

wKiom1mng9KRwH2JAAE72R6wHpI827.jpg

二、OpenStack 组件

    OpenStack包含了许多组件。有些组件会首先出现在孵化项目中,待成熟以后进入下一个OpenStack发行版的核心服务中。同时也有部分项目是为了更好地支持OpenStack社区和项目开发管理,不包含在发行版代码中,主要组件如下:

  • Compute (Nova) 计算服务

  • Identity Service (Keystone) 认证服务

  • Image Service (Glance) 镜像服务

  • Networking (Neutron) 网络服务

  • Dashboard (Horizon) 仪表板

  • Object Storage (Swift) 对象存储

  • Block Storage (Cinder) 块存储

  • Orchestration (Heat) 编排

  • Telemetry (Ceilometer) 监控

  • Database Service (Trove) 数据库服务

  • Data Processing (Sahara) 数据处理

三、OpenStack 架构

    OpenStack是由一系列具有RESTful接口的Web服务所实现的,是一系列组件服务集合。如下图为OpenStack的概念架构,我们看到的是一个标准的OpenStack项目组合的架构。这是比较典型的架构,但不代表这是OpenStack的唯一架构,我们可以选取自己需要的组件项目,来搭建适合自己的云计算平台。

wKioL1moPL7QYQbrAAWe1KM_aUM250.jpg


    OpenStack项目并不是单一的服务,其含有子组件,子组件内由模块来实现各自的功能,如下图为OpenStack的逻辑架构。通过消息队列和数据库,各个组件可以相互调用,互相通信。这样的消息传递方式解耦了组件、项目间的依赖关系,所以才能灵活地满足我们实际环境的需要,组合出适合我们的架构。每个项目都有各自的特性,大而全的架构并非适合每一个用户,譬如Glance在最早的A、B版本中并没有实际出现应用,Nova可以脱离镜像服务独立运行。当用户的云计算规模大到需要管理多种镜像时,才需要像Glance这样的组件。OpenStack的成长是在生产环境中不断被检验,然后再将需求反馈给社区,由社区来实现的一个过程,可以说OpenStack并非脱离实际的理想化开源社区项目,而是与生产实际紧密结合的,可以复制应用的云计算方案。

    OpenStack 本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。 
这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。

wKiom1mnpheBRlRmAAx0qVdtlu8713.jpg


附录:其他图


概念架构图:

wKiom1mnquPwmCReAAEycXWryU4004.png


wKiom1moJr-AOaKbAAIqGQvK2Bc908.jpg


wKioL1mphgvT4qkWAACkKg8nrCw076.png



逻辑架构图:

wKioL1mnqt6CA33XAAOS_XCuvjA639.png


wKiom1moMobinP8zAAv1QLPsPmY337.jpg




参考:http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/

      https://ilearnstack.com/2013/04/23/introduction-to-openstack-2/



     本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1961337,如需转载请自行联系原作者





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
OpenCV中Denoising相关函数的简单介绍
参考:http://wenhuix.github.io/research/denoise.html一、基本情况         (一)基本方法          Fast  Non-Local  MeansDenoising (FNLMD),论文为                 Mahmoudi, Mona, and Guillermo Sapiro.
1510 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9497 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10844 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13186 0
生产就绪型Open JDK 发行版Alibaba Dragonwell介绍
阿里巴巴 Dragonwell 作为 OpenJDK 的下游版本,是阿里巴巴针对运行在 100,000 多台服务器上的在线电子商务、金融、物流应用程序进行优化的 OpenJDK 实现。阿里巴巴 Dragonwell 是以极端扩展方式运行这些分布式 Java 应用程序的引擎。
85 0
GraphScope 图分析引擎 - GRAPE 介绍
GraphScope 中的图分析引擎继承自 GRAPE,该系统实现了论文 Parallelizing Sequential Graph Computations 中提出的不动点计算模型
240 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载