Glance由API和registry
Glanc-api:接受云系统镜像的创建、删除、读取请求
Glance-regisry:云系统的镜像注册服务
架构图如下:
说明:
Glance-api接收rest API的请求,类似Nova-API
Glance-API在功能上与Nova-API十分类似,都是被接收rest API请求,然后通过其他模块(glance-registry及image store)来完成诸如镜像的查找、获取、上传、删除等操作,API默认监听端口9292
Glance-registry用于MySQL数据库交互,用于存储或获取镜像的元数据(metadata);提供镜像元数据相关的rest接口,通过glance-registry,可以向数据库中写入或获取镜像的各种数据,glance-registry监听端口9191,glance的数据库中有两张表,一张是image表,一张是image property表,image表保存了镜像格式、大小等信息;image property表则主要保存镜像的定制化信息。
Image store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持的存储有Amazon的S3、openstack本身swift,还有诸如ceph,sheepdog,glusterFS等分布式存储,image store是镜像保存与获取的接口,它仅仅是一个接口层,具体的实现需要外部的存储支持
a数据库的创建与授权
create databaseglance;
grant all onglance.* to ‘glance‘@‘localhost‘ identified by ‘glance‘;
grant all onglance.* to ‘glance‘@‘%‘ identified by ‘glance‘;
b创建服务凭证
获取admin凭证来后去只有管理员能执行的命令的访问权限
sourceadmin-openstack
创建服务证书
创建 glance 用户:
openstack usercreate --domain default --password-prompt glance
添加 admin 角色到glance 用户和 service 项目上。
openstack role add--project service --user glance admin
创建``glance``服务实体
openstack servicecreate --name glance --description "OpenStack Image" image
创建镜像服务的 API 端点
openstack endpointcreate --region RegionOne image public http://192.168.56.11:9292
openstack endpointcreate --region RegionOne image internal http://192.168.56.11:9292
openstack endpointcreate --region RegionOne image admin http://192.168.56.11:9292
a.软件包的安装
yum install -yopenstack-glance
b编辑文件 /etc/glance/glance-api.con
[database]#配置数据库访问
connection =mysql+pymysql://glance:glance@192.168.56.11/glance
[glance_store]#配置本地文件系统存储和镜像文件位置
stores = file,http
default_store =file
filesystem_store_datadir= /var/lib/glance/images
[keystone_authtoken]#配置认证服务访问
auth_uri =http://192.168.56.11:5000
auth_url =http://192.168.56.11:35357
memcached_servers =192.168.56.11:11211
auth_type =password
project_domain_name= default
user_domain_name =default
project_name =service
username = glance
password = glance
[paste_deploy]
flavor = keystone
c编辑文件 ``/etc/glance/glance-registry.conf``
[database]#配置数据库访问
connection =mysql+pymysql://glance:glance@192.168.56.11/glance
[keystone_authtoken]#配置认证服务访问
auth_uri =http://192.168.56.11:5000
auth_url =http://192.168.56.11:35357
memcached_servers =192.168.56.11:11211
auth_type =password
project_domain_name= default
user_domain_name =default
project_name =service
username = glance
password = glance
[paste_deploy]
flavor = keystone
d写入镜像服务数据库
su -s /bin/sh -c"glance-manage db_sync" glance
检验
mysql -uglance-pglance -h localhost -e "use glance;show tables;"
e启动镜像服务并将其配置为随机启动
systemctl enableopenstack-glance-api.service \
openstack-glance-registry.service
systemctl startopenstack-glance-api.service \
openstack-glance-registry.service
获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
sourceadmin-openstack
下载源镜像:
wgethttp://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它:
openstack imagecreate "cirros" \
--filecirros-0.3.4-x86_64-disk.img \
--disk-format qcow2--container-format bare \
--public
确认镜像的上传并验证属性:
openstack imagelist
+--------------------------------------+--------+--------+
| ID | Name |Status |
+--------------------------------------+--------+--------+
|9fe07794-9fb9-4e34-aa23-0fdfe4804bad | cirros | active |
+--------------------------------------+--------+--------+
本文出自 “追梦IT男” 博客,请务必保留此出处http://runningyongboy.blog.51cto.com/8234857/1889189
云计算之openstack(N版)glance镜像服务最佳实践
原文:http://runningyongboy.blog.51cto.com/8234857/1889189