第四部分:安装镜像服务 glance

glance 服务为实例提供系统盘的镜像(模版)

在控制节点执行以下操作安装 glance 服务

1、建立 glance 数据库

1、用数据库连接客户端以root用户连接到数据库服务器,输入数据库root账户的密码
mysql -u root -p
2、创建 glance 数据库:
MariaDB [(none)]> CREATE DATABASE glance;
3、授予对 glance 数据库的适当访问权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO ‘glance’@’localhost’ IDENTIFIED BY000000‘; #__GLANCE_DBPASS替换为000000
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO ‘glance’@’%’ IDENTIFIED BY ‘000000’;
#GLANCE_DBPASS替换为000000
image.png

4、退出数据库客户端。
MariaDB [(none)]> quit;
Bye

2、创建和配置 glance 用户

1、使用脚本导入 admin 环境变量,获得admin 凭证来获取只有管理员能执行的命令的访问权限,环境设置。
cd /openrc
. _admin_openrc #注意前面的:“.”
或者_
source /openrc/admin_openrc
2、要创建服务证书,完成以下步骤:
1)创建 glance 用户
_openstack user create —domain default —password
000000 _glance
#GLANCE_PASS替换为000000
image.png

2)给 glance 用户授权。添加 admin 角色到 glance 用户和 service 项目上。

openstack role add —project service —user glance admin

image.png

3)创建 glance 服务实体
openstack service create —name glance —description “OpenStack Image” image

image.png

3、创建镜像服务 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

image.png
image.png
image.png

4、安装和配置glance组件

1)安装软件包
yum install openstack-glance -y

2)编辑 glance 的配置文件
cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
grep -Ev ‘^$|#’ /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf
vim /etc/glance/glance-api.conf
database 部分中,配置数据库访问:
[database]
connection = mysql+pymysql://glance:000000@controller/glance
#GLANCE_DBPASS替换为000000
image.png
在[keystone_authtoken]和[paste_deploy]部分中,配置身份服务访问:
[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 = 000000
[paste_deploy]
flavor = keystone

image.png

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

image.png
3)同步镜像服务数据库
su -s /bin/sh -c “glance-manage db_sync” glance

image.png

5、启动glance服务,并将其配置为在系统引导时启动:

systemctl enable openstack-glance-api.service
systemctl start openstack-glance-api.service
systemctl status openstack-glance-api.service

启动好之后,使用 netstat -tnlup 查看端口情况,如果看到有 9292 端口,则表示 glance 启动成功。

image.png

6、验证

1、下载 cirros 镜像(cirros 是一个很小的 Linux 系统),用来验证 glance 服务是否正常。
yum install wget -y
source /openrc/admin_openrc

2、下载下载源镜像:
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
(如果下载慢,也可以在 windows 下使用迅雷等工具下载,然后上传到控制节点的 root 目录下)
3、上传镜像:
使用 QCOW2 磁盘格式,bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它。
openstack image create —file /root/cirros-0.4.0-x86_64-disk.img —disk-format qcow2 —container-format bare —public cirros
(**官方文档坑点之一**,这里不要使用官方文档里面的 glance image-create 这样的写法,新版本的 OpenStack 已经不支持,尽量统一使用以 openstack 开头的命令写法)

image.png
4、确认镜像的上传并验证:
openstack image list

image.png
查看镜像的物理文件

ll /var/lib/glance/images/

image.png参考资源:https://blog.51cto.com/11694088/2460026