OpenStack

架构介绍:

OpenStack架构全景图


核心服务组件

全局组件:
Keystone认证服务:提供身份验证,服务发现和分布式多租户授权;管理全局认证和授权的组件;
Ceilometer计量服务:监控集群的状态,监控集群虚拟机的使用量;
Horizon界面管理服务:提供基于Web的控制界面,使云管理员和用户能够管理各种OpenStack资源和服务;控制台可以控制OpenStack架构内部的所有功能;依赖于Keystone认证服务;

辅助组件:
Ironic:裸金属管理和控制基础硬件资源;
Trove:管理数据库的服务,管理关系型数据库和非关系型数据库,可以存储虚拟机和各组件调用的数据,以及各种日志;
Heat编排服务和 Sahara:做数据的分析,编排和处理,精细化的管理;

核心组件:为虚拟机/实例提供服务
Nova计算服务:提供大规模、可扩展、按需自助服务的计算资源,支持管理裸机、虚拟机和容器;依赖于Keystone认证服务、Neutron网络服务、Glance镜像服务
Neutron网络服务:负责管理虚拟网络;实现实例与实例之间以及实例与外部网络之间的通信;
Cinder块存储:提供块存储服务,为虚拟机实例提供持久化存储;调用不同存储接口驱动,将存储设备转化为块存储池,用户无需了解存储实际部署位置或设备类型;提供对Volume从创建到删除整个生命周期的管理;
Glance镜像服务:提供发现、注册和下载的镜像服务,虚拟机镜像的集中式仓库;通过虚拟机镜像创建虚拟机,对镜像进行精细化管理,提供管理镜像的服务(快照),修改镜像的元数据;依赖于Keystone认证服务;
Swift对象存储服务:提供高度可用、分布式、最终一致的对象存储服务;可以高效、安全且廉价的存储大量数据;非常适合存储需要弹性扩容的非结构化数据;使用普通硬件来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级。
Swift属于对象存储,用于永久类型的静态数据的长期存储(如虚拟机镜像、图片存储、邮件存储和存档备份)。

Keystone认证服务基本概念:
Domain:域,Keystone中一个虚拟概念,一个域是一组User Group或Project的容器
User:用户,是可以通过Keystone访问OpenStack服务的个人、系统或某个服务
Group:用户组,是一组用户的容器,可以向Group中添加用户,并直接给Group分配角色
Project:项目,是各个服务中可以访问的资源集合,项目只需在某个域下唯一即可
Role:角色,具有一组定义的用户权限和特权以执行一组特定操作,角色不同,被赋予的权限不同
Service:服务,一种OpenStack服务,服务会对外暴露一个或多个端点,用户可以通过这些端点访问资源并执行操作
Endpoint:端点,是指一个可以用来访问某个具体服务的网络地址
Token:令牌,是允许访问特定资源的凭证
Credential:凭证,确认用户身份的数据,如用户的用户名和密码

Keyston认证方式:
基于令牌的认证:UUID、PKI\PKIZ
基于外部的认证
基于本地的认证

Glance镜像服务:
1、查询、获取镜像元数据和镜像本身
2、注册、上传VM镜像(镜像创建、上传、下载和管理)
3、支持多种方式存储镜像
4、对VM创建快照,备份VM状态或者创建新的镜像
5、维护镜像信息(元数据和镜像本身)

Glance组件:
API:通过REST接口对外开放Glance功能,接收请求
Glance Domain Controller:管理Glance内部服务器,Glance Domain Controller分层实现特定任务,如认证、事件、通知、策略控制和数据库连接等
Registry Layer:实现Glance Domain Controller与DAL之间的安全访问
Database Abstraction Layer:提供Glance与数据库之间的统一API接口
Glance DB:Glance DB在所有组件之间共享,存放管理,配置信息等数据
Glance Store:负责与外部存储后端或本地文件的交互,持久化存储镜像文件;Glance Store提供一个统一的接口来访问后端存储,屏蔽不同后端存储的差异

Cinder块存储
Cinder API:对外提供rest API,对操作需求进行解析,对API进行路由寻找相应的处理方法。包含卷的增删改查(包括从源卷、镜像、快照创建)、快照增删改查、备份、volume type管理、挂载/卸载(Nova调用)等
Cinder Scheduler:负责收集backend上报的容量,能力信息。根据设定的算法完成卷到指定cinder-volume的调度。
Cinder Volume:多节点部署,使用不同的配置文件、接入不同的backend设备,由各存储厂商插入driver代码与设备交互完成设备容量和能力信息收集、卷操作。
Cinder Backup:实现将卷的数据备份到其他存储介质

Neutron网络服务
Neutron server:服务模块,对外提供API接口,接收请求,调用插件请求
Neutron plugin:neutron的插件,各个厂商提供了对应的插件,可用插件对接各厂商躯体的agent操作底层的网络设备或数据库
Neutron agent:对接网络设备的代理

Ceilometer计量服务
Ceilometer项目是一项数据收集服务,提供跨当前OpenStack核心组件规范化和转化数据的能力
Ceilometer的数据可为所有OpenStack核心组件提供客户计费、资源跟踪和报警功能

posted @ 2024-08-05 09:47  NETYZreal  阅读(21)  评论(0编辑  收藏  举报