OpenStack之glance(镜像服务)

部署条件:在安装和配置映像服务之前,必须创建数据库、服务凭据和API端点。
1、创建数据库
1)以 root 用户连接到数据库服务器:
mysql -uroot -p123

2)创建 glance 数据库:
CREATE DATABASE glance;

3)对glance数据库授予恰当的权限:
GRANT ALL PRIVILEGES ON glance.* TO ‘glance’@‘localhost’ IDENTIFIED BY ‘abc123’;
GRANT ALL PRIVILEGES ON glance.* TO ‘glance’@’%’ IDENTIFIED BY ‘abc123’;

4)刷新权限
FLUSH PRIVILEGES;

5)退出
QUIT

2、获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
. admin-openrc

3、创建服务证书
OpenStack使用三个API端点变种代表每种服务:admin,internal和public,默认情况下,admin API端点允许修改用户和租户而public和internal APIs不允许这些操作。在生产环境中,处于安全原因,变种为了服务不同类型的用户可能驻留在单独的网络上。
对实例而言,public API网络为了让顾客管理他们自己的云在互联网上是可见的。admin API网络在管理云基础设施的组织中操作也是有所限制的。internal API网 可能会被限制在包含OpenStack服务的主机上。此外,OpenStack支持可伸缩性的多区域。为了简单起见,本实验为所有端点变种和默认RegionOne区域都使用管理网络。
1)创建glance用户,并设置密码abc123
openstack user create --domain default --password-prompt glance
OpenStack之glance(镜像服务)
2)添加 admin 角色到 glance 用户和 service 项目上。
openstack role add --project service --user glance admin

3)创建glance服务实体:
openstack service create --name glance
–description “OpenStack Image” image
OpenStack之glance(镜像服务)
4)创建镜像服务的 API 端点:
openstack endpoint create --region RegionOne
image public http://controller:9292
OpenStack之glance(镜像服务)
openstack endpoint create --region RegionOne
image internal http://controller:9292
OpenStack之glance(镜像服务)
openstack endpoint create --region RegionOne
image admin http://controller:9292
OpenStack之glance(镜像服务)
4、安装和配置组件
1)安装软件包:
yum install openstack-glance -y

2)编辑文件 /etc/glance/glance-api.conf 并完成如下动作:
cd /etc/glance/
cp glance-api.conf glance-api.conf.bak //备份一下配置文件
egrep -v “#|$” glance-api.conf.bak > glance-api.conf

vi glance-api.conf //在 [database] 部分,配置数据库访问:
[database]
connection = mysql+pymysql://glance:[email protected]/glance

在 [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 = abc123

[paste_deploy]
flavor = keystone

在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置:
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

2)编辑文件 /etc/glance/glance-registry.conf并完成如下动作:
cp glance-registry.conf glance-registry.conf.bak
egrep -v “#|$” glance-registry.conf.bak > glance-registry.conf

vi glance-registry.conf
在 [database] 部分,配置数据库访问:
[database]
connection = mysql+pymysql://glance:[email protected]/glance

在 [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 = abc123

[paste_deploy]
flavor = keystone

3)填充映像服务数据库
su -s /bin/sh -c “glance-manage db_sync” glance
注:忽略warning信息
OpenStack之glance(镜像服务)
4)启动镜像服务、配置他们随机启动:
systemctl enable openstack-glance-api.service
openstack-glance-registry.service

systemctl start openstack-glance-api.service
openstack-glance-registry.service

5、验证操作
1)获得admin凭证来获取只有管理员能执行命令的访问权限
. admin-openrc

2)安装wget下载工具并下载源镜像
yum install wget -y
wget http://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
OpenStack之glance(镜像服务)
4)确认镜像的上传并验证属性:
openstack image list
5)查看有没有镜像目录
ls /var/lib/glance/images/
OpenStack之glance(镜像服务)