Glance的概述
Glance是为虚拟机的创建提供镜像的服务,我们基于Openstack是构建基本的IaaS平台对外提供虚拟机,而虚拟机在创建时必须为选择需要安装的操作系统,Glance服务就是为该选择提供不同的操作系统镜像。
Glance的组件
- Glance-API
主要用来响应各种REST请求然后通过其它模块(主要是glance-registry组件和后端存储接口)完成镜像的上传、删除、查询等操作。可以简单的再分为两部分:一层中间件,它主要是做一些对请求的解析工作(如分析出版本号), 另外一部分提供实际的服务(如与镜像上传下载的后端存储接口交互)。默认绑定端口是9292。
- Glance-Registry
镜像注册服务用于提供镜像元数据的REST接口。主要工作是存储或者获取镜像的元数据,与MySQL数据库进行交互。也可以简单的再细分为两部分,API和具体的Server。元数据是指镜像相关的一些信息(如id,size, status,location,checksum,min_disk,min_ram,owner等)真正的镜像数据保存在实际所使用的后端存储里(如Swift,S3,Filesystem等)。默认绑定的端口是9191。
- Image Store
严格来说Image Store不属于Glance的组件,这里把它单独分出来只是为了方便理解,它只是一个接口层,提供镜像存储和查询的接口。具体的实现则需要外部存储(Swift,S3)的支持。
部署glance
创建数据库
1 | [root@controller01 ~]# mysql -u root -p123456 |
创建glance-api
创建service项目
1 | #创建service项目 |
创建glance用户
1 | [root@controller01 ~]# openstack user create --domain Default --password-prompt glance |
1 | # 注意--region与初始化admin用户时生成的region一致; |
安装glance
1 | # 在全部控制节点安装glance,以controller01节点为例 |
配置glance-api.conf
1 | # 在全部控制节点操作,以controller01节点为例; |
1 | #注意 |
同步glance数据库
1 | # 任意控制节点操作; |
1 | # 查看验证 |
启动服务
1 | # 在全部控制节点操作,以controller01节点为例; |