10.KeyStone
keystone-Openstack,IAM服务(统一身份认证)-云服务
建议先去了解Hadoop(大数据生态系统)中的kerberos(LDAP+kerberos的鉴权机制),tip:云计算+大数据+人工智能是密不可分的三个大方向,都是当下热门的前沿学科。
keystone是OpenStack中安全认证的相关服务类型,主要提供人机认证和机机认证两种认证模式,涵盖了主流的所有认证方法,保证了OpenStack集群的内部安全,作为OpenStack中的重要组件,keystone是一个共享性服务,即所有的用户和服务组件都需要和keystone建立连接。keystone作为Openstack中的认证组件,如果出现问题,会导致集群整体的不可用。
10.1keystone的概念
10.2KeyStone架构
10.3KeyStone对象管理
10.4OpenStack资源创建流程1
- 用户提交任务之后,Horizon会调用API接口将用户在web上配置的参数转换为指令下发。
- 在指令下发之前,首先用户需要提供自己的用户名和密码发送给keystone,用于获取访问对应服务的令牌。在实际操作中,我们是不需要做这一步的,因为Horizon已经替代用户自动发送了。
- keystone收到信息之后,会通过自身的keystone的keystone Service模块的identity进行验证,实际的验证工作是由keystone plugin完成的。
- 验证完成之后,keystone会生成该用户的访问令牌,默认为fernet模式,并反馈给用户
- 用户获取令牌之后,就会将命令和令牌一次性传输给对应的服务,相关的服务收到之后,会首先对令牌进行解密,然后将令牌信息发送给keystone
- keystone收到服务的验证信息之后,首先会确认令牌是否被篡改,如果被篡改则反馈连接不合法,如果确认正常,则keystone连接keystone service,查询本地的Assignment、resource、endpoint并反馈给查询服务
- 服务收到信息之后,会根据endpoint显示的url反馈给用户。同时服务会执行用户下发的命令(前提是用户具有权限可以执行)
- 如果在执行的过程中,需要跨服务创建资源,则由收到用户请求的服务作为代理,将命令和用户令牌一起发送给其他服务
- 其他相关服务收到信息之后,同5-8步执行
- 当任务执行完成之后,收到请求的服务会向用户反馈执行完成,同时经过一段时间之后,令牌过期。
10.5OpenStack资源创建流程2
- 用户通过使用用户名密码登录horizon或者是CLI
- Horizon收到用户登录请求首先会联系keystone,验证用户是否合法。
- keystone收到请求之后,验证用户是否合法,同时反馈用户的权限信息给Horizon
- 登录完成之后用户进行操作,当用户需要下发命令,所有的操作在提交的时候统一转化为API指令。
- 在命令下发之前,首先Horizon会替代用户携带用户名和密码信息发送给keystone,请求获取令牌。
- keystone收到请求之后,首先会转发请求给keystone service,通过identity服务进行验证,实际上是通过keystone plugin服务进行查询。确认用户合法之后,Service中的token会要求plugin服务生成令牌,令牌生成之后,会由Token通过API反馈令牌给用户
- 令牌获取之后,用户(Horizon)会将自身的请求和令牌一起交给对应的服务。
- 服务收到请求和令牌之后,首先会用令牌联系keystone,确认合法性和权限
- keystone收到了服务的请求之后,首先把令牌发送给service 的token服务,token会验证令牌是否合法
- 确认合法之后,service会查询identity获取用户的组信息,查询Assignment查询角色分配与权限,查询resource(policy)获取域和项目信息,最后查询catalog根据权限获取端点url。然后将这些信息统一反馈给服务
- 服务收到之后,会根据用户的相关信息进行任务执行,同时会将url透传给用户,通过Horizon打开对应的url链接
- 如果需要跨服务执行,则重复服务的查询和执行步骤
- 当任务执行完成之后,向用户反馈写完成,等待令牌过期。
- 在任务执行过程中,Horizon会周期性的查询执行进度。
11Glance镜像管理服务
镜像管理服务提供了发现、注册、检索虚拟机镜像的功能。
发现指的是镜像管理服务可以主动的从海量的后台文件中,主动找到哪个文件是系统镜像文件。该功能的实现是通过检索文件的后缀名实现的。比如常见的有iso、vmdk、vhd、qcow2。
注册指的是将系统发现的镜像文件注册到服务内部作为一个系统镜像存在检索虚拟机镜像,如果glance服务中有大量的镜像,glance支持通过关键字进行查询镜像的本质是文件,所以镜像服务需要后台连接存储,存储支持本地、cinder、对象存储等由于所有用户都对glance有需求,所以glance属于是全局共享服务。
数据和元数据的关系:
数据是信息的载体,数据的组织形式是文件,也就是说所有的文件,都是由数据组成的。即数据为文件的实际内容。
元数据是描述数据的数据,也就是数据的属性信息。
11.1Glance架构
Client:客户端,负责用户的接入,本质上是一个本地程序,通过客户端可以连接到OpenStack中的所有服务
REST API:标准连接接口,负责提供一个对外暴露的接口,用于外部访问内部
Domain Controller:镜像域控制器,也可以翻译成镜像域级管理器,主要负责实现Glance服务的各项功能
registry layer:注册中心层,负责控制器和Glance数据库之间的安全访问的
Database Abstraction layer:数据库抽象层,提供Glance和数据库访问的API接口
Glance DB:镜像数据库,存储了镜像服务最核心的管理数据、配置数据以及相关的重要信息,一旦受损整个服务以及相关的镜像文件和元数据全部损坏
Glance Store:镜像仓库,负责存储和管理镜像,维护镜像的可用性
11.2Glance工作流程
11.3Glance基础概念
镜像:传统情况下指的是一个文件,在Glance服务中,镜像包含了系统的配置信息,控制文件,磁盘文件等内容,是一个比较综合化的概念
实例:概念等同于节点、虚拟机、对象等,本质上就是在OpenStack上运行的一台虚拟机设备。
规格:定义了实例的相关配置参数,包含vCPU、vMemory以及磁盘大小,没有网络配置
规格是OpenStack中非常重要的组成部分,用户在使用OpenStack的时候,是不能自定义规格的。管理员设定什么规格,用户就只能选择什么规格。
规格分为两类,计算类和存储类,这里要强调存储类是镜像存储类。计算类为CPU和内存规格,镜像存储类,是指使用该镜像时,所需分配的最小的系统盘大小。
管理员在后台设定好规格之后,用户只能选择规格。
11.4计算类规格
11.5镜像存储类规格
当我们是管理员的时候,为了用户可以正常的创建VM,我们需要在后台配置计算规格,然后上传镜像,设置镜像所需要的最小的硬盘大小,即镜像存储规格。然后用户才能够正常的去创建VM。
网络规格需要根据用户自己的需求创建,不能指定。没有规格。
11.6Glance状态机
所谓状态机指的就是一个系统或者是一个框架内部的状态转换机制,俗称叫做状态机,一般来说在ICT框架下,具有代表性的协议、产品、架构都具有状态机。状态机可以理解为是计算机领域中的一种常见的设计机制。
在Glance中,状态机的主要机制有以下类型:
- queued:镜像注册已经完成,但是镜像文件还未上传。
- saving:镜像上传中
- uploading:下发了镜像导入命令,但是还未执行
- importing:导入镜像ing
- active:激活可用
- deactive:未激活/停用,管理员不受限
- killed:上传失败
- delete:延迟删除
- pending_delete:回收站
任务状态:
- pending:挂起/暂停
- processing:执行中
- success:成功
- failure:失败
书接下回:云计算HCIP-OpenStack04-CSDN博客