openstack篇 glance组件概念和部署

Posted 鹧鸪鹄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openstack篇 glance组件概念和部署相关的知识,希望对你有一定的参考价值。

一 概念

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 数据库初始化并将镜像传入数据库

以上是关于openstack篇 glance组件概念和部署的主要内容,如果未能解决你的问题,请参考以下文章

openstack篇 glance组件概念和部署

OpenStack入门之核心组件梳理——Glance篇

openstack篇 openstack keystone组件部署

openstack篇 openstack keystone组件部署

OpenStack 的部署——Glance组件

OpenStack 运维 - 部署Glance组件 [T版]