三、镜像服务mysql
3.一、建立一个数据库、服务凭证和API端点sql
3.1.一、完成下面的步骤以建立数据库:数据库
用数据库链接客户端以 root 用户链接到数据库服务器:api
# mysql -u root -p安全
建立 glance 数据库:服务器
CREATE DATABASE glance;dom
对``glance``数据库授予恰当的权限:ide
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'P@ssw0rd';memcached
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'P@ssw0rd';url
flush privileges;
3.1.二、得到 admin 凭证来获取只有管理员能执行的命令的访问权限:
# . admin-openrc
3.1.三、建立服务证书
建立 glance 用户:
# openstack user create --domain default --password-prompt glance
添加 admin 角色到 glance 用户和 service 项目上
# openstack role add --project service --user glance admin
建立``glance``服务实体:
# openstack service create --name glance --description "OpenStack Image" image
3.1.四、建立镜像服务的 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
3.二、安全并配置组件
3.2.一、安装软件包
# yum install openstack-glance -y
3.2.二、编辑文件 /etc/glance/glance-api.conf 并完成以下动做:
在 [database] 部分,配置数据库访问:
connection = mysql+pymysql://glance:P@ssw0rd@controller/glance
在 [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 = P@ssw0rd
注解:在 [keystone_authtoken] 中注释或者删除其余选项
在[paste_deploy] 部分,配置认证服务访问:
flavor = keystone
在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置:
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
注意:这里设置了系统镜像目录,要确认目录是否存在,本次部署以下图因此已经存在且权限清晰。
如不存在就建立目录并赋权:
mkdir /var/lib/glance/images/
chown glance. /var/lib/glance/images/
3.2.三、编辑文件 ``/etc/glance/glance-registry.conf``并完成以下动做:
在 [database] 部分,配置数据库访问:
connection = mysql+pymysql://glance:P@ssw0rd@controller/glance
在 [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 = P@ssw0rd
注解:在 [keystone_authtoken] 中注释或者删除其余选项。
在 [paste_deploy]部分,配置认证服务访问:
flavor = keystone
3.2.四、写入镜像服务数据库:
# su -s /bin/sh -c "glance-manage db_sync" glance
3.三、启动镜像服务、配置他们随机启动
# systemctl enable openstack-glance-api.service openstack-glance-registry.service
# systemctl start openstack-glance-api.service openstack-glance-registry.service
3.四、验证操做(在控制节点上执行这些命令)
3.4.一、得到 admin 凭证来获取只有管理员能执行的命令的访问权限:
# . admin-openrc
3.4.二、下载源镜像
# wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
3.4.三、使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样全部的项目均可以访问它:
# openstack image create "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public
如上图所示,镜像上传成功,已经到指定目录:/var/lib/glance/images/
说明:若是没有执行 admin-openrc就会报错,以下图所示:
3.4.四、确认镜像的上传并验证属性:
# openstack image list