identity token catelog policy
keystone 身份服务模块
Horizon UI模块
访问控制流程
租户,他是各个服务中的一些可以访问的资源集合。
openstack组件间的关系
openstack主要功能组件及对应服务
Quantum是Neutron的前身。
Horizon是表示层模块,与其他各种模块都会发生关联。
Keystone是集成层模块,同上。
Swift不会直接和虚拟机发生关联。
Neutron-网络服务
提供云计算环境下的虚拟网络功能。
给每个租户独立的网络环境。
三种模式:Flat模式、Flat DHCP模式和VLAN模式。前两种是比较典型的网桥模式,第一个手动配置,第二个进程辅助配置。第三种模式为每个租户设置了不同的虚拟子网,在虚拟子网中用户可以有私有IP,可以自行选择把IP分配给不同的虚拟机。
Cinder-块存储服务
主要功能是管理所有的块存储设备,为VM服务。对象存储服务主要是存取分布式的对象,在任何地方都可以发起存储对象的请求,但块存储服务是本地的,只能挂靠在VM上进行使用。
Swift-对象存储服务
是最早期的两个服务之一。是对外提供高可用分布式对象存储服务,主要特点是无限可扩展,且没有单点故障:不必担心存储的对象会意外丢失,因为有其他的备份。
定位:account->container->object
可以通过HTTP(S)、Object API及S3接口存取。
Glance-镜像服务
主要功能是提供虚拟机镜像的存储、查询和检索服务,为Nova组件提供服务,依赖于存储服务(存储镜像)和数据库(存储和镜像相关的元数据)。
Nova-计算服务:
核心服务,包括:
实例(虚拟机/裸机/容器)生命周期管理(创建、删除、启动、停止)、计算资源管理、向外提供REST风格的API。
Nova-api(接收外部的REST请求)位于表示层,nova-scheduler(居中调停,,选择由哪个主机来创建VM)位于逻辑控制层,nova-compute负责虚拟机创建和资源分配(支持不同的虚拟机组件)。它们通过消息中间件(ribbit MQ)进行消息传递。
Keystone-身份服务模块
负责身份认证和权限控制,基本所有用户操作都要依赖这个模块,是控制核心。
User:即用户,代表可以通过Keystone进行访问的人或程序,User通过认证信息(如密码、API Keys等)进行验证。
Tenant:即租户(用户的集合),它是各个服务中的一些可以访问的资源集合,决定用户可以访问资源的多少。
Role:即角色,代表一组用户可以访问的资源权限(管理/使用权限)。
Service:即服务,如Nova、Glance、Swift。服务在Keystone上进行注册。
EndPoint:一个服务暴露出来的访问点 (地址),如果需要访问一个服务则必须知道endpoint。
Token:访问资源的令牌,相当于钥匙,具有时效性。
Keystone提供的服务:
Identity服务提供了身份验证凭证。
Token服务将会验证并管理用于验证请求身份的令牌。
Catalog服务提供了可用于端点发现的服务注册表。
Policy服务暴露了一个基于规则的身份验证引擎,决定每个用户的访问控制权限。
Horizon-UI模块
管理控制台,把用户的操作转化为对后端API的调用,用户分为云管理员(Dashboard)和普通的云用户(CustomerPort)。云管理员负责整个云平台的运营和对资源的管理和分配,为云管理员提供整体视图,以实现资源整合和配额管理;为终端用户提供自助服务门户,在配额范围内,自由操作,使用资源。
五个层次:表示层、逻辑控制层、资源管理层(横向)、集成层、管理层(纵向)。
包含了十六个不同的功能模块:
资源层:计算(Nova-计算服务,即Compute API、Scheduling、Policy、Compute、Admin API)/存储(Cinder块/Swift网络对象-存储服务,即Volume)/网络资源管理模块(Neutron-网络服务,即Network)。
逻辑层:编排(Heat-编排组织服务,即Orchestration)、调度、策略、镜像注册(Glance-镜像服务,即Image Registry和Image API功能)、日志服务。
表示层(和客户打交道):API模块和UI模块(Horizon-UI服务,即User Dashboard云下运维和Customer Portal云上用户)。
集成层:计费和身份认证模块(Keystone-身份服务,即Identity)。
管理层:管理API和监控(Ceilometer-监控计量服务,即Billing和Monitoring)。
OpenStack介绍
是RackSpace(贡献了Swift)和NASA(贡献了Nova)共同发起的开源项目,是一系列开源软件项目的组合,它们之间是松耦合的关系,可以独立地安装、启动和停止,只有在必要时才进行通信,优点是扩展性比较好,安全性高,不会存在单点故障,缺点是安装和配置比较复杂。
是基础设施资源的系统管理平台,用户可通过它以按需、易扩展的方式获取所需要的资源,能够以更集中的方式有效地管理CPU、内存、磁盘等资源,通过计算机网络向用户提供基础设施资源。
resources 层 compute、volume、network
划重点松耦合多组成
VM创建访问控制流程
一个用户需要创建VM需要首先向keystone发送认证信息
通过keystone认证之后,keystone返回给一个token
拿到token之后带着token将请求发送到nova,
nova接到请求之后需要验证token;发送给keystone进行验证,验证通过之后对于请求再进行处理
首先带着token去glance镜像服务申请镜像,glance拿到请求需要验证token返回给keystone进行验证,验证通过再去查询相应的镜像,查询到了之后返还给nova,
然后需要到(Quantum;neutron的前身)neutron组件去申请网络资源,依旧是带着token,然后neutron接收到请求,再到keystone进行验证token,
验证通过再分配相应的资源,返还给nova,然后nova得到所有的资源之后去创建VM
创建完成之后再返还给用户。
创建VM流程,Quantum即Neutron
主要功能组件
主要功能组件:
资源层:计算资源模块,存储资源管理模块和网络资源管理模块。
逻辑控制层包含的基础功能服务:编排,调度,策略,镜像注册和日志服务。
表示层:API模块和UI模块(和客户接触)
集成部分: 认证和计费模块
管理部分:管理API 和监控
一、Openstack介绍
一系列开源软件项目组合
基础设施资源的系统管理平台
二、主要功能组件
Horizen:UI服务
Keystone:身份服务
Nova:计算服务
Glance:镜像服务
Cinder/Swift:存储服务
Neutron:网络服务
Heat:编排组织服务
Ceilometer:监控计量服务
三、Horizon
为云管理员提供整体视图,以实现资源整合和配额管理
为终端用户提供自助服务门户,在配额范围内,自由操作,使用资源
四、Keystone
User:用户,代表可以通过Keystone进行访问的人或程序,User通过认证信息进行验证
Tenant:租户,它是各个服务中的一些可以访问的资源集合
Role:角色,Roles代表一组用户可以访问的资源权限
Service:服务,如Nova,Glance,Swift。服务在Keystone上进行注册
Endpoint:是一个服务暴露出来的访问点。如果需要访问一个服务则必须知道他的Endpoint
Token:访问资源的令牌,相当于钥匙,具有时效性
提供的服务:
Identity服务验证了身份验证凭证
Token服务将会验证并管理用于验证请求身份的令牌
Catalog服务提供了可用于端点发现的服务注册表
Policy服务暴露了一个基于规则的身份验证引擎
异构环境集成:
每个keystone功能都支持用于集成到异构环境并展示不同功能的后端插件,更常见的一些后端包括:
Key Value Store
Memcached
SQL
Pluggable Authentication Module(PAM)
Lightweight Directory Access Protocol(LDAP)
五、Nova
主要功能:
实例生命周期管理(主要形式为虚拟机)
计算资源管理
向外提供REST风格的API
功能模块:
nova-api:表示层,主要负责接受web请求
nova-scheduler:逻辑控制层,居中调停,选择由哪个主机创建wpm
nova-compute:负责虚拟机创建和资源分配等
三个组件之间并不是直接访问的,而是通过消息中间件(rabbit MQ)进行消息的传递
六、Glance
主要功能
提供虚拟机镜像的存储,查询和检索服务
为Nova组件提供镜像服务
依赖于存储服务和数据库
七、Swift
功能:对外提供高可用分布式对象存储服务
特点:无限可扩展,并且没有单点故障
定位:account-->container-->object(任何对象都可描述为某个账户下的某个容器中的某个对象)
可以通过Https,Object API及S3接口存取
八、Cinder
管理所有的块存储设备,为VM服务
本地的,只能挂靠在VM上使用
九、Neutron
功能:为云计算提供虚拟网络功能,为每个租户提供独立的网络环境
三种模式:
Flat模式
Flat DHCP模式
VLAN模式
十、组件间关系
访问控制流程
OpenStack主要组件
组件数据流图
Neutron