2021SC@SDUSC
openstack是一个通过数据中心控制大批量计算,存储和网络互连资源的云端操作系统,用身份验证机制来通过API提供管理控制服务。
管理员用控制板给予使用者可提供的资源,这是由一个网络接口完成的。
除了基础框架以外,还有其他的组件提供错误管理,服务管理等功能,为用户应用确保高可用性。
openstack 是组件化的应用,可以合理地取用需要的部分像插件一样植入。
下面是openstack组件图谱:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0uCMvCKr-1632982582049)(D:\下载\0001.jpg)]
资源抽象
OpenStack将各类硬件资源,通过虚拟化与软件定义的方式,抽象成资源池。
资源分派和负载调度
OpenStack根据管理员/用户的需求,将资源池中的资源分配给不同的用人机交互户,承载不同的应用。
应用声明周期管理
OpenStack已经可以提供初步的应用部署/撤除、自动规模调整能力。
系统运维
OpenStack已经可以提供一定的系统监控能力
人机交互
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云中的计算组织控制器。
管理OpenStack云中示例的生命周期。
管理计算资源资源、网络、认证所需的可扩展平台。
计算管理(codenamed “Nova”)基于用户需求为VM提供计算资源管理. 基于Python语言编写。
计算服务:计算节点–运行虚拟机的Hypervisor。
分布式控制器:负责处理器调度策略及API调用等。
Cinder主要核心是对卷的管理,允许对卷、卷的类型、卷的快照进行处理。它并没有实现对块设备的管理和实际服务,而是为后端不同的存储结构提供了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动支持以与OpenStack进行整合。
块存储管理模块(codenamed “Cinder”)提供到虚拟机的永久性块存储卷.类似AWS的EBS块存储服务。
多个卷可以被挂载到单一虚拟机实例,同时卷可以在虚拟机实例间移动,单个卷在同一时刻只能被挂载到一个虚拟机实例。
块存储系统管理块设备到虚拟机的创建,挂载以及卸载。
块设备卷完全与OpenstackCompute集成,并支持云用户在Dashboard中管理数据自己的存储。
除了支持简单的Linux服务器本地存储之外,还支持众多的存储平台,包括Ceph,NetApp, Nexenta,SolidFire,Zadara。
快照管理提供了强大的在块存储上实现数据备份的功能可以用来作为引导卷使用。
块存储适合性能敏感性业务场景,例如数据库存储大规模可扩展的文件系统或服务器需要访问到块级裸设备存储。
Glance是OpenStack镜像服务,用来注册、登陆和检索虚拟机镜像。Glance服务提供了一个REST API,使你能
够查询虚拟机镜像元数据和检索的实际镜像。通过镜像服务提供的虚拟机镜像可以存储在不同的位置,从简单的文件系统对象存储到类似OpeenStack对象存储系统。
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将虚拟资源变成具体的‘池’来为管理员和用户提供直接交互的标准云计算工具。