前言
glance服务是OpenStack中负责给实例提供image镜像的服务,就是服务镜像的上传和下载操作,他可以上传各种操作系统的镜像,windows的可以,Ubuntu可以,centos可以,只要你用到的都可以传上去。而且他的镜像格式支持qcow2的,就是说你完全可以将你的KVM虚机做成镜像传上去作为镜像来启动实例。
在控制节点安装glance服务,为OpenStack启动的实例提供镜像服务。
一、安装
1、数据库
# mysql -uroot -pXylong_000
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123';
MariaDB [(none)]> exit
2、创建身份认证服务
执行admin管理用户的环境变量进行操作,
创建glance用户的,将admin角色绑定上去,这里密码为了好记我设置的是123
# source admin-openrc
# openstack user create --domain default --password-prompt glance
# openstack role add --project service --user glance admin
创建glance服务
# openstack service create --name glance --description "OpenStack Image" image
创建glance服务的endpoint访问端点
# openstack endpoint create --region RegionOne image public http://controller:9292
# openstack endpoint create --region RegionOne image internal http://controller:9292
# openstack endpoint create --region RegionOne image admin http://controller:9292
3、安装软件
# yum install openstack-glance
4、修改配置文件
# vim /etc/glance/glance-api.conf
首先还是配置数据库访问,这里密码是我们创建数据库的时候设置glance用户的密码,我设置的是123
[database]
connection = mysql+pymysql://glance:123@controller/glance
接着是配置身份服务访问,复制官方文档就好了,但是注意下面password密码需要修改成我们创建glance服务的时候设置的密码,我的是123
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = 123
指定身份认证服务是通过keystone
[paste_deploy]
flavor = keystone
配置本地文件系统存储和指定镜像存储的位置
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
修改完配置文件之后,执行命令同步数据库,
# su -s /bin/sh -c "glance-manage db_sync" glance
只要看下下面的successfully成功就可以了,
接着验证下,通过我们创建的glance用户进去查看下表的情况,
# mysql -uglance -p123
MariaDB [(none)]> use glance
MariaDB [glance]> show tables;
设置开机自启并启动服务
# systemctl enable openstack-glance-api.service
# systemctl start openstack-glance-api.service
二、验证
关于glance服务的验证操作,就是上传一个镜像到OpenStack环境中,官方提供了一个比较小的镜像可以让我们来进行测试使用,他也是当环境搭建好之后可以启动实例的时候使用的镜像。
使用wget命令将镜像下载到本地,
# wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
下载成功
这就是我们下载下来的镜像,13M大小,
接着将镜像进行上传,需要应用admin用户的环境变量
# source admin-openrc
# glance image-create --name "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility=public
查看状态,镜像上传成功并且状态是active的,
# openstack image list
根据我们配置文件中的设置,可以找到上传上去的镜像是在这个位置的,大小还是13M的
# ll -h /var/lib/glance/images/
总结:
到现在为止我们的glance服务就部署完成了,从他的过程可以看出OpenStack中各个服务的过程,
- 首先都是数据库创建对应的库设置登录用户;
- 接着创建user然后绑定role角色上去,然后创建service,接着把三类endpoint访问端点;
- 接着在安装软件,修改配置文件;
- 最后验证,或是通过命令查看效果或者是通过创建操作等等;
对于glance服务来说,他就是管理镜像的,我们根据官方的顺序将镜像上传上去就可以证明服务是没有问题的了。