Keystone (OpenStack Identity Service) 是OpenStack中的一 个独立的提供安全认证的模块,主要负责openstack用户的身份认证、 令牌管理、提供访问资源的服务目录、以及基于用户角色的访问控制。
Keystone类似一个服务总线,或者说是整个Openstack框架的注册表,其他服务通过keystone来注册其服务的 Endpoint (服务访问的URL),任何服务之间相互的调用,需要经过Keystone的身 份验证,来获得目标服务的 Endpoint来找到目标服务。
注意:
1、因为组件点到点的交互是通过 API 来完成的,API 由 Apache 所承载,Apache 提供了一个URL,所以 API 和 API 的对接也可以认为是 URL 和 URL 的对接。
2、OpenStack中核心、辅助组件的用户是在"yum install" 的时候创建的,OpenStack中关键的就是组件、服务之间的对接配置
创建虚拟机首先需要登录用户认证,user向keystone认证,认证没问题以后登录,user需要向nova发送请求,请求安装虚拟机的指令,nove再次向Keyston返回请求验证,验证成功,创建虚拟机是需要glance镜像资源以及neutron网络等资源,那么nova都会想keystone请求验证来获取资源,验证都无问题则会进行VM的创建,创建成功以后返回信息给user
它在OpenStack中的项目名称为Glance。在早期的OpenStack版本中,Glance只有管理镜像的功能,并不具备镜像存储功能。现在,Glance已发展成为集镜像上传、检索、管理和存储等多种功能的OpenStack核心服务。
Glance镜像服务
镜像
镜像的英文为Image,又译为映象,通常是指一系列文件或 一个磁盘驱动器的精确副本。镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件, 以访便用户下载和使用。
举例子: Ghost是使用镜像文件的经典软件,其镜像文件可以包含更多信息,如系统文件、引导文件、分区表信息等,这样镜像文件就可以包含一个分区甚至是一块硬盘所有信息。Ghost可基 于镜像文件快速安装操作系统和应用程序。
举例子: VMware的虚拟机模板
镜像服务就是用来管理镜像的,让用户能够发现、获取和保存镜像。在OpenStack中提供镜像服务的是Glance,其主要功能如下:
三、镜像格式
虚拟机镜像文件磁盘格式
raw:无结构的磁盘格式
vhd:该格式通用于VMware、Xen、VirtualBox以及其他虚拟机管理程序
vhdx:vhd格式的增强版本,支持更大的磁盘尺寸
vmdk:一种比较通用的虚拟机磁盘格式
vdi:由VirtualBox虚拟机监控程序和QEMU仿真器支持的磁盘格式
iso:用于光盘(CD-ROM)数据内容的档案格式
ploop:由virtuozzo支持,用于运行OS容器的磁盘格式
qcow2:由QEMU仿真支持,可动态扩展,支持写时复制(Copy on Write)的磁盘格式
aki:在Glance中存储的Amazon内核格式
ari:在Glance中存储的Amazon虚拟内存盘(Ramdisk)格式
ami:在Glance中存储的Amazon机器格式
磁盘结构:
RAW :磁盘镜像实例,以进制形式存储的方式(图片)
优点:访问速度非常快
缺点:不支持动态扩容、前期消耗多(创建20G磁盘类比workstation)
Vhd:微软公司提出的格式
VMDK: vmware公司想要统虛拟化平台的一 种格式
Vdi: VirtualBox官方 支持的结构
ISO:基本类型
Qcow2: Qemu支 持的类型
AKI、 ARI、 AMI:亚马逊所推出支持的类型
容器:
磁盘存储的数据、元数据需要相互隔离,所以会使用到容器
Bare :基础类型,
Ovf:标准的格式体系,支持动态扩容,而且支持导出导入
AKi、 Ami、 Ari: 亚马逊
组件工作流程
glance- api
json yaml xml格式的
raw优点:访问速度非常块;缺点:不支持动态扩容,前期消耗多
四、镜像格式
镜像文件容器格式
bare:没有容器或元数据“信封”的镜像
ovf:开放虚拟化格式
ova:在Glance中存储的开放虚拟化设备格式
aki:在Glance中存储的Amazon内核格式
ari:在Glance中存储的Amazon虚拟内存盘(Ramdisk)格式
Docker:在Glance中存储的容器文件系统的Docker的tar档案
五、镜像状态
状态1
queued:这是一种初始化状态,镜像文件刚被创建,在Glance数据库只有其元数据,镜像数据还没有上传至数据库中
saving:是镜像的原始数据在.上传到数据库中的一种过渡状态,表示正在上传镜像
uploading:指示已进行导入数据提交调用,此状态下不允许调用PUT/file (saving状态会执行PUT/file,这是另外一种上传的方法)
importing:指示已经完成导入调用,但是镜像还未准备好使用
状态2
active:表示当镜像数据成功上传完毕,成为Glance中可用的镜像
deactivated:表示任何非管理员用户都无权访问镜像数据,禁止下载镜像,也禁止镜像导出和镜像克隆之类的操作
killed:表示镜像上传过程中发生错误,镜像不可读
deleted:镜像将在不久后被自动删除,该镜像不可再用,但是目前Glance仍然保留该镜像的相关信息和原始数据
pending_delete: 与deleted相似,Glance还没有清除镜像数据, 但处于该状态的镜像不可恢复
总结:
1、glance-api是系统后台运行的服务进程,对外提供REST API,相应image查询、获取和存储的调用,glance-api不会真正处理请求
2、如果是与image metadata(元数据)相关的操作,glance-api会把请求转发给glance-registry
3、如果是与image自身存取相关的操作,glance-api会把请求转发给该image的store backend
4、查看glance-api进程:ps -elf | grep glance-api