安装和配置 Image service(镜像服务)glance
本章介绍在 Controller node(管理节点)安装和配置镜像服务,代号(glance)。出于简单的目的,本次使用本地文件系统存储镜像。
先决条件
1. 创建数据库,完成下列步骤:
A. 使用数据库命令行客户端,以 root 身份登录数据库服务器。
# mysql -u root -p123
B. 创建 glance 数据库
MariaDB [(none)]> CREATE DATABASEglance;
C. 授予数据库用户 glance 访问 glance 数据库的权限。
MariaDB [(none)]> GRANT ALL PRIVILEGESON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGESON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
替换 GLANCE_DBPASS 为一个合适的密码。
D. 退出数据库
2. 执行 admin 凭据脚本,以便以admin 身份执行后续命令:
# . admin-openrc
3. 创建服务凭据,完成下列操作:
A. 创建 glance 用户
# openstack user create --domain default--password-prompt glance
B. 添加 admin 角色到 glance 用户和 service 项目
# openstack role add --project service--user glance admin
C. 创建 glance 服务实体:
# openstack service create --name glance--description "OpenStack Image" image
4. 创建镜像服务 API 端点:
# openstack endpoint create --regionRegionOne image public http://controller:9292
# openstack endpoint create --regionRegionOne image internal http://controller:9292
# openstack endpoint create --regionRegionOne image admin http://controller:9292
安装和配置组件
1. 安装软件包
# yum install openstack-glance -y
2. 编辑/etc/glance/glance-api.conf文件并完成下列操作:
A. 在[database]小节,配置数据库访问:
[database]
# ...
connection =mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
替换 GLANCE_DBPASS 为你的镜像服务数据库用户 glance 的密码。
B. 在[keystone_authtoken]和[paste_deploy]小节配置身份服务访问信息:
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123
[paste_deploy]
# ...
flavor = keystone
替换 GLANCE_DBPASS 为认证服务中 glance 用户的密码。
C. 在[glance_store]小节,配置使用本地系统存储和镜像文件存储路径:
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
3. 编辑/etc/glance/glance-registry.conf文件并完成下列操作:
A. 在[database]小节,配置数据库访问:
[database]
# ...
connection =mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
替换 GLANCE_DBPASS 为你的镜像服务数据库用户 glance 的密码。
B. 在[keystone_authtoken]和[paste_deploy]小节,配置身份服
务访问信息:
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123
[paste_deploy]
# ...
flavor = keystone
替换 GLANCE_DBPASS 为认证服务中 glance 用户的密码。
4. 初始化镜像服务数据库
# su -s /bin/sh -c "glance-managedb_sync" glance
完成安装
启动镜像服务并设置开机自动启动:
# systemctl enableopenstack-glance-api.service openstack-glance-registry.service
# systemctl startopenstack-glance-api.service openstack-glance-registry.service
确认安装
使用 CirrOS 镜像确认镜像服务是否安装正常。CirrOS 是一个小型Linux 镜像,可以用来测试你的 OpenStack 环境。
1. 执行 admin 凭据脚本,以便以admin 身份执行后续命令:
# . admin-openrc
2. 下载镜像文件
# wgethttp://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
3. 上传镜像文件到镜像服务,使用 QCOW2 磁盘格式,bare 容器格式,添加公共可见选项,是所有项目可以访问该镜像:
# openstack image create "cirros"--file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare--public
4. 确认镜像已经上传并验证属性:
# openstack image list