OpenStack 综述

2021SC@SDUSC

OpenStack 综述

Openstack 简介

openstack是一个通过数据中心控制大批量计算,存储和网络互连资源的云端操作系统,用身份验证机制来通过API提供管理控制服务。

管理员用控制板给予使用者可提供的资源,这是由一个网络接口完成的。

除了基础框架以外,还有其他的组件提供错误管理,服务管理等功能,为用户应用确保高可用性。

openstack 组件

openstack 是组件化的应用,可以合理地取用需要的部分像插件一样植入。

下面是openstack组件图谱:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0uCMvCKr-1632982582049)(D:\下载\0001.jpg)]

openstack特性

  1. 资源抽象

    OpenStack将各类硬件资源,通过虚拟化与软件定义的方式,抽象成资源池。

  2. 资源分派和负载调度

    OpenStack根据管理员/用户的需求,将资源池中的资源分配给不同的用人机交互户,承载不同的应用。

  3. 应用声明周期管理

    OpenStack已经可以提供初步的应用部署/撤除、自动规模调整能力。

  4. 系统运维

    OpenStack已经可以提供一定的系统监控能力

  5. 人机交互

    OpenStack提供人机接口,外界可以通过API、命令行或图形界面的方式参与OpenStack进行交互。

openstack 不是云,只是构建云的关键组件之一

服务简介

服务 项目名称 描述
Dashboard Horizon 提供了一个基于web的自主服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。
Computer Nova 在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。
Network Neutron 确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。
Objecet Storage Swift 通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制。
Block Storage Cinder 为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。
Identity Service Keystone 为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。
Image Service Glance 存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。
Telemetry Service Ceilmeter 为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。
Orchestration Service Heat 既可以使用本地模板格式,亦可使用AWS CloudFormation模板格式,来编排多个综合的云应用,通过OpenStack本地REST API或者是CloudFormation相兼容的队列API

OpenStack 综述_第1张图片

openstack 组件服务概述

Nova

  1. OpenStack云中的计算组织控制器。

  2. 管理OpenStack云中示例的生命周期。

  3. 管理计算资源资源、网络、认证所需的可扩展平台。

计算管理(codenamed “Nova”)基于用户需求为VM提供计算资源管理. 基于Python语言编写。

计算服务:计算节点–运行虚拟机的Hypervisor。

分布式控制器:负责处理器调度策略及API调用等。

Cinder

  1. 为虚拟机示例提供volume卷的块存储服务。
  2. 一个volume可以同时挂载到多个实例上。
  3. 共享的卷同时只能被一个示例进行写操作。

Cinder主要核心是对卷的管理,允许对卷、卷的类型、卷的快照进行处理。它并没有实现对块设备的管理和实际服务,而是为后端不同的存储结构提供了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动支持以与OpenStack进行整合。

  • 块存储管理模块(codenamed “Cinder”)提供到虚拟机的永久性块存储卷.类似AWS的EBS块存储服务。

  • 多个卷可以被挂载到单一虚拟机实例,同时卷可以在虚拟机实例间移动,单个卷在同一时刻只能被挂载到一个虚拟机实例。

  • 块存储系统管理块设备到虚拟机的创建,挂载以及卸载。

  • 块设备卷完全与OpenstackCompute集成,并支持云用户在Dashboard中管理数据自己的存储。

  • 除了支持简单的Linux服务器本地存储之外,还支持众多的存储平台,包括Ceph,NetApp, Nexenta,SolidFire,Zadara。

  • 快照管理提供了强大的在块存储上实现数据备份的功能可以用来作为引导卷使用。

  • 块存储适合性能敏感性业务场景,例如数据库存储大规模可扩展的文件系统或服务器需要访问到块级裸设备存储。

Swift

  1. 高可用分布式式对象存储。
  2. 为nova组件提供虚拟化的镜像存储。
  3. 使用与互联网应用场景下非结构化的数据存储。
  • 分布式对象存储系统,类似于AWS的S3。
  • 通过采用基于标准化服务器的集群架构提供冗余,可扩展的对象存储。
  • 具有良好的扩展性,可以实现PB级别数据的存储。
  • 支持存储对象写入的多份拷贝,并且支持当拷贝丢失后的自我修复功能.确保数据的一致性。
  • 提供每GB高性价比的极佳的可用性和数据耐久性。
  • 支持原生的 OpenStack™ API 以及S3 compatible API。

Glance

  1. 为Nova提供镜像服务。
  2. 通常不负责镜像的本地存储。
  3. 实现对镜像的管理。

Glance是OpenStack镜像服务,用来注册、登陆和检索虚拟机镜像。Glance服务提供了一个REST API,使你能

  1. 提供网络服务的核心组件。
  2. 基于软件定义网络的的思想。
  • 网络服务(codenamed “Quantum/Neutron”)提供在被管理设备之间的网络连接服务.
  • 允许用户自己创建自己的网络并attach端口使用.
  • 通过开发的Plugins支持SDN和OpenFlow
  • 用户自定义子网地址,私有网络/公有网络以及FloatingIP分配规则
  • 基于插件的模型。

够查询虚拟机镜像元数据和检索的实际镜像。通过镜像服务提供的虚拟机镜像可以存储在不同的位置,从简单的文件系统对象存储到类似OpeenStack对象存储系统。

Neutron

  1. 提供网络服务的核心组件。
  2. 基于软件定义网络的的思想。
  • 网络服务(codenamed “Quantum/Neutron”)提供在被管理设备之间的网络连接服务.
  • 允许用户自己创建自己的网络并attach端口使用.
  • 通过开发的Plugins支持SDN和OpenFlow
  • 用户自定义子网地址,私有网络/公有网络以及FloatingIP分配规则
  • 基于插件的模型。

Ceilometer

  1. OpenStack中的数据监控器。
  2. 为流量计费提供数据支持。

Heat

  1. OpenStack的核心项目之一。
  2. 提供基于模板的编排服务。

组件间通讯

1.各组件之间通过统一的API进行对接;

2.各组件之间通过消息代理(RabbitMQ)进行通讯;

3.各组件之间通讯通过restful进行了一个格式的规范,以及合法的验证。

通讯过程

1.API作为内外交互的接口,同时也对其它组件发过来的信息做一个预处理(1、统一发往keystone进行验证 2、API根据不同的任务将需求发往后端的子功能模块);

2.实际上API是不处理请求的,请求都是各个组件后端的子功能模块来处理的;

3.各子功能模块之间的相互通讯借助于消息队列;

4.子功能模块处理完的请求再次反馈到API,再通过API对接出去;

总结

OpenStack is an open source platform that uses pooled virtual resources to build and manage private and public clouds. The tools that comprise the OpenStack platform, called “projects,” handle the core cloud-computing services of compute, networking, storage, identity, and image services. More than a dozen optional projects can also be bundled together to create unique, deployable clouds.

In virtualization, resources such as storage, CPU, and RAM are abstracted from a variety of vendor-specific programs and split by a hypervisor before being distributed as needed. OpenStack uses a consistent set of application programming interfaces (APIs) to abstract those virtual resources 1 step further into discrete pools used to power standard cloud computing tools that administrators and users interact with directly.

OpenStack是一个池化虚拟资源来建立和管理私有和共有云的开源平台。这些工具组成了OpenStack,处理了包括计算,网络,存储,识别和镜像服务的核心云计算服务。更多可选功能捆绑在一起以创建独特可实施的云。

ng tools that administrators and users interact with directly.

OpenStack是一个池化虚拟资源来建立和管理私有和共有云的开源平台。这些工具组成了OpenStack,处理了包括计算,网络,存储,识别和镜像服务的核心云计算服务。更多可选功能捆绑在一起以创建独特可实施的云。

存储,CPU,RAM等资源被供应商专用程序所抽象并被虚拟监控程序所分隔,OpenStack用一系列API将虚拟资源变成具体的‘池’来为管理员和用户提供直接交互的标准云计算工具。

你可能感兴趣的:(restful,http)