文章目录
一 概念
glance组件在opentack中提供镜像服务 让用户可以发现保存和获取镜像
主要功能
1 查询和获取镜像得元数据和镜像本身
2 注册和上传虚拟机镜像,包括镜像得创建 上传 下载和管理
3 维护镜像信息,包括元数据和镜像本身
4 支持多种方式存储镜像 包括普通得文件系统 swift amazon s3等
5 对虚拟机实例执行创建快照命令来创建新得镜像 或备份虚拟机得状态
镜像的格式
bare 没有容器或元数据“信封”的镜像
ovf 开放虚拟化格式
ova 在glance中存储的开放虚拟化设备格式
aki 在glance中存储的amazon的内核格式
ari 在glance中存储的amazon虚拟内存盘格式
docker 在glance中存储的容器文件系统的docker的tar档案
常用的为docker和bare 不能确定可以将容器指定为bare
镜像状态
queued:初始化状态 镜像文件刚被创建 在glance数据库只有其元数据 镜像数据还没有上传至数据库中
saving:镜像的原始数据上传到数据库中的一种过渡状态,表示正在上传镜像
uploading 指示已进行导入数据提交调用 put/file
importing 指示已经完成的导入调用 但是镜像还未准备好使用
镜像的访问的权限
public 公共 可以被任何项目使用
private 私有 只有被镜像所有者所在的项目使用
shated 共享 一个非共有的镜像可以共享给其他项目 这是通过项目成员操作来实现的
protected 受保护的 此镜像不能被删除
二 部署glance组件
在keystone组件基础上部署
创建数据库 授权
mysql -u root -p
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
flush privileges;
exit
配置用户配置文件
openstack user create --domain default --password GLANCE_PASS glance 创建用户glance default域 密码
openstack role add --project service --user glance admin 将用户添加到service项目中 并赋予admin权限
openstack service create --name glance --description "OpenStack Image" image 创建一个项目 名称为glance 类型为image 并查看
openstack endpoint create --region RegionOne image public http://ct:9292 创建api端口 admin端口
openstack endpoint create --region RegionOne image internal http://ct:9292 internal服务
openstack endpoint create --region RegionOne image admin http://ct:9292 public服务
安装glance组件和配置
yum -y install openstack-glance
cp -a /etc/glance/glance-api.conf{,.bak} 备份配置文件
grep -Ev '^$|#' /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf 将#和空格去掉注入到配置文件中
传参 直接复制到命令行
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
cat glance-api.conf
cp -a /etc/glance/glance-registry.conf{,.bak} 备份第二个配置文件
grep -Ev '^$|#' /etc/glance/glance-registry.conf.bak > /etc/glance/glance-registry.conf 同上一个配置文件
第二个配置文件传参
openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken password GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
cat glance-registry.conf
初始化数据库并传入镜像文件
su -s /bin/sh -c "glance-manage db_sync" glance 初始化数据库
systemctl enable openstack-glance-api.service 开机自启服务
systemctl start openstack-glance-api.service 开启服务
netstat -natp | grep 9292 查看端口
chown -hR glance:glance /var/lib/glance/ 修改属主属组 给与权限
传入镜像
cd /opt
将镜像拖入目录中
ls
cirros-0.3.5-x86_64-disk.img
openstack image create --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros 将镜像传入数据库
openstack image list 查看镜像
总结
glance构建步骤
1 数据库中创建库和对用户授权
2 配置用户文件 (添加三个api)
3 安装glance文件(传参)
4 数据库初始化并将镜像传入数据库