第三章——安装和配置镜像服务Glance
3.1、安装和配置镜像服务Glance
注意:以下操作均在控制节点
1.创建数据库
1)进入数据库
相关命令:mysql -u root -p
2)创建glance数据库
相关命令:CREATE DATABASE glance;
3)授权glance数据库,使得本地及远程都能访问
相关命令:GRANT ALL PRIVILEGES ON glance.*
TO 'glance'@'localhost' \
IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.*
TO 'glance'@'%' \
IDENTIFIED BY 'GLANCE_DBPASS';
4)退出mysql
相关命令:exit
2.环境变量生效
相关命令:source admin-openrc.sh
3.创建glance(凭据)用户
1)创建glance用户
openstack user create
--domain default --password-prompt glance
输入密码:GLANCE_PASS
2)添加admin角色到glance 用户和service项目上
openstack role add
--project service --user glance admin
3)创建glance服务实体
openstack service create --name glance--description "OpenStack Image service" image
4)创建镜像服务的API端点
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
4.安装镜像服务Glance
1)安装软件包
apt-get install glance python-glanceclient
2)编辑文件 /etc/glance/glance-api.conf在[database] 部分,配置数据库访问
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = GLANCE_PASS
[paste_deploy]
flavor = keystone
在[glance_store]部分,配置本地文件系统存储和镜像文件位置
[glance_store]
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
在[DEFAULT]部分,配置noop禁用通知,因为他们只适合与可选的Telemetry服务,为帮助排错,在[DEFAULT]部分启用详细日志。
[DEFAULT]
notification_driver = noop
verbose = True
3)编辑文件 /etc/glance/glance-registry.conf在[database]部分,配置数据库访问
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
在[keystone_authtoken]和[paste_deploy]部分,配置认证服务访问
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = GLANCE_PASS
[paste_deploy]
flavor = keystone
在[DEFAULT]部分,配置noop禁用通知,因为他们只适合与可选的Telemetry服务。
为帮助排错,在[DEFAULT]部分启用详细日志。
[DEFAULT]
notification_driver = noop
verbose = True
为glance数据库填充数据
bash -c "glance-manage db_sync" glance
重启镜像服务器
service glance-registry restart
service glance-api restart
删除安装包自动创建的SQLite数据库
rm -f
/var/lib/glance/glance.sqlite
3.2、验证镜像服务Glance
CirrOS是一个小型的Linux镜像可以用来帮助你进行OpenStack部署测试。
1)在每个客户端脚本中,配置镜像服务客户端使用2.0的API
相关命令:echo "export OS_IMAGE_API_VERSION=2" \
| tee -a admin-openrc.sh demo-openrc.sh
2)获得 admin 凭证来获取只有管理员能执行命令的访问权限
相关命令:source admin-openrc.sh
3)下载镜像到本地目录
相关命令:
注意:如果下的很慢,可以尝试使用迅雷下载
4.上传镜像
相关命令:glance image-create --name "cirros" \
--file cirros-0.3.4-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--visibility public --progress
5.确认镜像的上传并验证属性
相关命令:glance image-list