Open Stack的原理和概念架构是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Open Stack的原理和概念架构是啥?相关的知识,希望对你有一定的参考价值。

Open Stack的原理和概念架构是什么?求百度大神回下

Open Stack的概念架构:应用开发者(AppDev),应用运维者(DevOps),云操作者(CloudOps),应用所有者(AppOwner)要与云进行交互。展示层(Presentation):应用开发者与computerapi(计算接口),imageapi(映像接口)进行交互,运维者与计算接口,映像接口,Userdashboard(仪表盘)进行交互处理信息⌄ 应用拥有者通过顾客门户UI平台管理,提供一个web管理页面,与底层交互。逻辑控制层:包括部署(Orchestration),scheduling(调度),政策(Policy)、Imageregistry(映像注册层),Logging(日志)为私有云服务提供逻辑控制服务。管理层:企业云服务平台运维者通过admin Api(管理员接口),Monitoring(监控),在一些成熟的架构中还具有标准和配置管理等支持服务。Accrets国际是一家主营私有云托管服务、云迁移服务、云架构部署服务的信息科技服务型公司,拥有超过百年的累积IT设计、方案实施、运营服务管理经验。 参考技术A Open Stack的原理是将企业数据中心的物理硬件设备虚拟化,形成虚拟资源池,利用一些优秀的云管理工具,例如 Fuel,Chef,Juju Charms等对虚拟资源进行管理。OpenStack起源于Rackspace Hosting和NASA的联合项目。它以开源的形式给出⌄ 源码可以从网站上下载;OpenStack的全部组件源码都由Python编程语言开发而来,与Java等其它编程语言相比,python程序具有非常高的并发处理能力和非常低的系统资源占用率,这些代码易于维护和扩展。埃科锐国际通过搭建Open Stack云平台对计算、网络、存储和控制服务等进行管理进而加速和优化企业的云之旅。本回答被提问者采纳 参考技术B Open Stack是一个不独立的可以管理虚拟机的软件平台,Open Stack提供了为公共和私有云基础设施构建和管理云计算平台所需的核心软件工具集。OpenStack的一个主要优点是其设计具有水平可扩展性,这使得随着时间的推移添加新的计算、存储和网络资源来构建云变得更加容易,除此之外还有许多优秀的开源工具可用于安装⌄ 运行和管理OpenStack云。埃科锐国际的Open Stack私有云是一个安全的企业云服务平台,企业可以控制和维护数据中心内的大量计算池、存储池和网络池。

云计算与Open Stack概述+架构详解

OpenStack

一、云计算

1.1 云计算的概念

  • 云计算是一种采用按量付费的模式,基于虚拟化技术,将相应计算资源(如网络、存储等)池化后,提供便捷的、高可用的、高扩展性的、按需的服务(如计算、存储、应用程序和其他 IT 资源)。
  • 狭义的云计算是指IT基础设施的交付和使用模式
  • 广义的云计算是指服务的交付和使用模式

1.2 云计算的基本特征

  • 自主服务:可按需的获取云端的相应资源(主要指公有云);
  • 网路访问:可随时随地使用任何联网终端设备接入云端从而使用相应资源。
  • 资源池化
  • 快速弹性:可方便、快捷地按需获取和释放计算资源。
  • 按量计费

1.3 云计算服务模型

  • IaaS(基础架构即服务)
    • 基础设施即服务,云服务商将IT系统的基础设施(如计算资源、存储资源、网络资源)池化后作为服务进行售卖
    • 提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等
    • 面向对象一般是IT管理人员
  • PaaS(平台即服务)
    • 平台即服务,云服务商将IT系统的平台软件层(数据库、OS、中间件、运行库)作为服务进行售卖;
    • 把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
    • 面向对象一般是开发人员
  • SaaS(软件即服务)
    • 软件即服务,云服务商将IT系统的应用软件层作为服务进行售卖。
    • 直接通过互联网为用户提供软件和应用程序等服务
    • 面向对象一般是普通用户

1.4 常见云计算部署

  • 私有云:云平台资源只给某个单位、或某部分用户内部使用。
  • 公有云:云平台资源开放给社会公众服务。
  • 社区云:云平台资源给几个固定的单位内使用。
  • 混合云:两个或两个以上不同类型的云平台。

1.5 私有云相对公有云有的优势

  • 数据安全性更高;
  • 可节省上云迁移过程中的大量成本;
  • 业务快速部署,缩短业务周期;
  • 降低企业成本,自主可控。

1.6 云计算和虚拟化的区别

云计算虚拟化
IT能力服务化,按需使用,按量计费,多租户隔离,是一个系统的轻量级管理控制面。环境隔离,资源复用,降低隔离损耗,提升运行性能,提供高级虚拟化特性。
  • 虚拟化是实现云计算的技术支撑之一,但并非云计算的核心关注点。

二、OpenStack

2.1 OpenStack概述与基本设计原则

  • OpenStack它不是一个软件,它是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。这个项目由几个主要的组件组合起来完成一些具体的工作。
  • 由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。
  • OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
  • 覆盖了网络、虚拟化、操作系统、服务器等各个方面
  • Open Stack基本设计原则
    • 1.按照不同的功能和通用性划分不同项目,拆分子系统
    • 2.按照逻辑计划、规范子系统之间的通信
    • 3.通过分层设计整个系统架构
    • 4.不同的功能子系统间提供统一的API接口

2.2 OpenStack服务

服务项目名称描述
Compute
(计算服务)
Nova负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展
Network
(网络服务)
Neutron负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响
Identity
(身份认证服务)
Keystone类似于LDAP服务,对用户、租户和角色、服务进行认证与授权,且支持多认证机制
Dashboard
(控制面板服务)
Horizon提供一个Web管理界面,与OpenStack底层服务进行交互
Image Service
(镜像服务)
Glance提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时直接使用,可支持多格式的镜像
Block Storage
(块存储服务)
Cinder负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储
Object Storage
(对象存储服务)
Swift为OpenStack提供基于云的弹性存储,支持集群无单点故障
Telemetry
(计量服务)
Ceilometer用于度量、监控和控制数据资源的集中来源,为OpenStack用户提供记账途径

2.3 OpenStack优势

  • 控制性
    • 完全开源的平台,提供API接口,方便与第三方技术集成
  • 兼容性
    • OpenStack兼容其他公有云,方便用户进行数据迁移
  • 可扩展性
    • 模块化设计,可以通过横向扩展,增加节点、添加资源
  • 灵活性
    • 根据自己的需要建立相应基础设施、增加集群规模
  • 行业标准
    • 众多IT领军企业已经加入到OpenStack项目

三、Open Stack架构

3.1 Open Stack原生概念架构

  • 全局组件:
    • 身份认证服务(Keystone)、计量服务(Ceilometer)与控制面板服务(Horizon)
  • 核心组件:
    • OpenStack 中创建虚拟机需要网络服务(Neutron)、镜像服务(Glance)、对象存储服务(Swift)与块存储服务(Cinder),而这些资源服务由计算服务(Nova)统一的申请调用,提供给虚拟机做资源支持。
  • 外部组件:
    • Sahara与Heat是大数据相关的组件,进行大数据收集、大数据分析与编排的;
    • Ironic是裸金属服务;
    • Trove是数据库管理的服务(包含关系与非关系型数据库)。
  • 云平台用户在经过Keystone服务认证授权后,通过Horizon或者Reset API 模式创建虚拟机服务,创建过程中包括利用Nova服务创建虚拟机实例,虚拟机实例采用Glance提供镜像服务,然后使用Neutron(网络服务)为新建的虚拟机分配IP地址,并将其纳入虚拟网络中,之后在通过Cinder(块存储服务)创建的卷为虚拟机挂载存储块,整个过程都在Ceilometer(计量服务)模块资源的监控下,Cinder产生的卷(Volume)和Glance(镜像服务)提供的镜像(Image)可以通过Swift(对象存储服务)的对象存储机制进行保存。

3.2 Open Stack逻辑架构

  • 三句话简单介绍Open Stack逻辑架构
    • Open Stack 逻辑架构介绍了Open Stack原生架构的组件(全局组件、核心组件和外部组件)
    • 组件之间通过API(前提是将请求交于keystone进行身份验证,是否有权限进行通讯)进行点到点的通讯
    • 单个项目内部有很多子功能模块,他们通过AMQP消息代理(RabbitMQ)进行交互,服务的状态存储在数据库中
  • OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。
  • 每个OpenStack服务又由若干组件组成。包含多个进程。所有服务至少有一个API进程,用于侦听API请求,对这些请求进行预处理,并将它们传送到该服务的其他组件。除了认证服务,实际工作都是由具体的进程完成
  • 至于一个服务的进程之间通信,则使用AMQP消息代理。服务的状态存储在数据库中。

3.3 Open Stack物理架构

  • 控制节点:管理openstack架构
  • 网络节点:负责各节点之间的通信/交互,通常需要3个网络端口,分别用于控制节点进行通信、与除控制节点之外的计算和存储节点之间的通信、外部的虚拟机与相应网络之间的通信。
  • 计算节点:主要负责承载实例,负责具体需求的处理
  • 存储节点:提供存储服务
  • 网络节点(Network Node)又分为提供者网络(Provider networks)和自服务网络(Self-service networks)
提供者网络自服务网络
联网管理联网管理
ML2插件ML2插件
Linux网络工具Linux网络工具
Linux Bridge代理Linux Bridge代理
DHCP代理DHCP代理
元数据代理(Metadata Agent)元数据代理(Metadata Agent)
三层代理(L3 Agent)

四、Open Stack组件通信关系

  • 基于AMQP协议的通信
    • 用于每个项目内部各个组件之间的通信。
  • 基于SQL的通信
    • 用于各个项目内部的通信。
  • 基于HTTP协议进行通信
    • 通过各项目的API建立的通信关系,API都是RESTful Web API。
  • 通过Native API实现通信
    • OpenStack各组件和第三方软硬件之间的通信。

以上是关于Open Stack的原理和概念架构是啥?的主要内容,如果未能解决你的问题,请参考以下文章

云计算与Open Stack概述+架构详解

云计算与Open Stack概述+架构详解

云计算与Open Stack概述+架构详解

Flink:特性、概念、组件栈、架构及原理分析

10Hive核心概念和架构原理

Hbase的架构原理核心概念