Glance是OpenStack的镜像服务,负责用户虚拟机镜像的发现,注册和获取。Glance部署在Controller节点上。
创建数据库和用户(注意替换GLANCE_DBPASS)
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'GLANCE_DBPASS';
退出mysql,加载环境变量(admin-openrc内容见上一文章)
. admin-openrc
创建Glance服务相关的鉴权信息
openstack user create --domain default --password-prompt glance
openstack role add --project service --user glance admin
创建Glance的服务对象和api节点
openstack service create --name glance --description "OpenStack Image" image
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
安装Glance
sudo apt-get install glance
修改配置文件
sudo vim /etc/glance/glance-api.conf
修改database(注意替换GLANCE_DBPASS)
[database]
#...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
修改keystone_authtoken和paste_deploy(注意替换GLANCE_DBPASS)
[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 = GLANCE_PASS
[paste_deploy]
# ...
flavor = keystone
修改glance_store
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
初始化数据库
sudo su -s /bin/sh -c "glance-manage db_sync" glance
启动服务
sudo systemctl restart glance-api.service
sudo systemctl enable glance-api.service
测试部署是否成功
# 加载环境变量
. admin-openrc
# 下载镜像
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
# 上传镜像
glance image-create --name "cirros" \
--file cirros-0.4.0-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--visibility=public
#查询镜像
glance image-list