目标
紧接着《Ubuntu16手动安装OpenStack——keystone篇》,本文我们来安装glance,主要参考Glance Installation Tutorial for Ubuntu。
glance简介
Image服务(glance)使用户能够发现、注册和检索虚拟机映像。它提供了一个REST API,使用户可以查询虚拟机镜像元数据并检索实际镜像。用户可以通过Image服务,把虚拟机映像存储在各种位置,从简单的文件系统到OpenStack Object Storage等对象存储系统。
为简单起见,官方教程中介绍如何配置Image服务以使用文件后端,该文件后端上载并存储在托管Image服务的控制器节点上的目录中。默认情况下,此目录为/var/lib/glance/ images/。在继续之前,请确保控制器节点在此目录中至少有几千兆字节的可用空间。请记住,由于文件后端通常是控制器节点的本地,因此通常不适合多节点glance部署。
OpenStack Image服务是Infrastructure-as-a-Service(IaaS)的核心。它接受来自磁盘或服务器映像的API请求,以及来自终端用户或OpenStack Compute组件的元数据定义。它还支持在各种存储库类型(包括OpenStack Object Storage)上存储磁盘或服务器映像。许多定期进程在OpenStack Image服务上运行以支持缓存。Replication服务可确保群集的一致性和可用性,其他定期进程包括auditors,updaters和reapers。
OpenStack Image服务包括以下组件:
glance-api
接受Image API调用以进行镜像发现,检索和存储。
官方建议将Glance作为独立服务器以传统方式运行。
glance-registry
存储,处理和检索有关镜像的元数据。元数据包括大小和类型等选项。
注册表是一个私有的内部服务,供OpenStack Image服务使用,不要将此服务公开给用户。
Glance注册服务及其API已在queens版本中弃用,并且在“S”开发周期开始后,可根据OpenStack标准弃用政策进行删除。
Database
存储镜像元数据,您可以根据自己的喜好选择数据库,大多数部署使用MySQL或SQLite。
Storage repository for image files
支持各种存储库类型,包括常规文件系统(或安装在glance-api控制器节点上的任何文件系统),Object Storage,RADOS块设备,VMware数据存储和HTTP。
请注意,某些存储库仅支持只读用法。
Metadata definition service
供应商、管理员、服务和用户的通用API,用于定义自己的元数据。此元数据可用于不同类型的资源,如 images、artifacts、volumes、flavors和aggregates。定义包括新属性的关键字、描述、约束和它可以关联的资源类型。
安装和配置
本节介绍如何在控制器节点上安装和配置镜像服务(glance)。为简单起见,此配置将镜像存储在本地文件系统上。
root用户
为了避免权限问题,建议切换到root用户进行操作(否则要加很多sudo)。
sudo -i
数据库
1、登录数据库
mysql -uroot -p
,密码为openstack。
2、创建glance数据库
CREATE DATABASE glance;
3、授权
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'openstack';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'openstack';
4、退出数据库
exit;
服务证书和端点
1、使admin环境生效
. admin-openrc
2、创建glance用户
openstack user create --domain default --password-prompt glance
根据提示设置密码为openstack。
3、将admin角色添加到glance用户和service项目上
openstack role add --project service --user glance admin
4、创建glance服务实体
openstack service create --name glance --description "OpenStack Image" image
5、创建镜像服务API endpoints
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
安装和配置组件
1、安装glance
apt -y install glance
2、备份glance-api.conf
mv /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
3、vim /etc/glance/glance-api.conf
,新建glance-api.conf文件内容为:
[DEFAULT]
bind_host = 0.0.0.0
[glance_store]
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[database]
# MariaDB connection info
connection = mysql+pymysql://glance:openstack@controller/glance
# Keystone auth info
[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 = openstack
[paste_deploy]
flavor = keystone
4、备份glance-registry.conf
mv /etc/glance/glance-registry.conf /etc/glance/glance-registry.conf.bak
5、vim /etc/glance/glance-registry.conf
,新建glance-registry.conf内容为:
[DEFAULT]
bind_host = 0.0.0.0
[database]
# MariaDB connection info
connection = mysql+pymysql://glance:openstack@controller/glance
# Keystone auth info
[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 = openstack
[paste_deploy]
flavor = keystone
6、更改权限
chmod 644 /etc/glance/glance-api.conf /etc/glance/glance-registry.conf
chown glance. /etc/glance/glance-api.conf /etc/glance/glance-registry.conf
7、生成glance数据库结构
su -s /bin/bash glance -c "glance-manage db_sync"
完成后登录mysql查看数据。
查看日志命令:
tail /var/log/glance/glance-api.log
tail /var/log/glance/glance-registry.log
8、重启镜像服务
systemctl restart glance-api glance-registry
验证操作
1、使admin环境生效
. admin-openrc
2、下载corris镜像
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
3、上传corris镜像到glance,存储为QCOW2格式,并且设置为所有人可见
openstack image create "cirros" \
--file cirros-0.4.0-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
有关OpenStack映像创建参数的信息,请参阅OpenStack用户指南中的创建或更新映像(glance)。
有关映像的磁盘和容器格式的信息,请参阅OpenStack虚拟机映像指南中的映像的磁盘和容器格式。
4、查看镜像
openstack image list
看到镜像ID、Name和Status。
cd /var/lib/glance/images
,可以看到名为镜像ID的文件。