OpenStack Victoria版——4.控制节点-Glance镜像服务组件

160 阅读4分钟

这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战


4.控制节点-Glance镜像服务组件

更多步骤:OpenStack Victoria版安装部署系列教程

OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。


@[toc]

创建glance相关数据库、凭据与API端点

1.创建glance数据库并授权

使用mysql数据库的root账户登录,密码为控制节点环境准备时初始化mysql数据设置的密码为root。

mysql -u root -proot

创建glance数据库并授权,设置密码为111111。

CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '111111';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '111111';

flush privileges;
show databases;
select user,host from mysql.user;
exit

2.创建服务凭据

(1)在keystone上创建glance用户

以下命令在local_user表创建glance用户

source admin-openrc.sh 
openstack user create --domain default --password=111111 glance
openstack user list

(2)在keystone上将glance用户添加为service项目的admin角色(权限) 以下命令无输出

openstack role add --project service --user glance admin

(3)创建glance镜像服务的实体 以下命令在service表中增加glance项目

openstack service create --name glance --description "OpenStack Image" image
openstack service list

3.创建镜像服务的 API 端点(endpoint)

【这里会影响API的调用】 以下命令会在endpoint表增加3条项目

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
openstack endpoint list

至此,glance在keystone上面注册完成,下面可以进行安装

glance相关软件安装与配置

1.检查Python版本

[root@controller ~]# python --version
-bash: python: command not found
[root@controller ~]# python3
python3               python3.6             python3.6m            python3-django-admin  
[root@controller ~]# python3
Python 3.6.8 (default, Aug 24 2020, 17:57:11) 
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root@controller ~]# 

配置系统默认Python版本。(实际操作中,没有进行默认版本配置)

#ls /usr/bin/python*
#ln -s /usr/bin/python3.6 /usr/bin/python
#ll /usr/bin/python
#python -V

2.安装glance软件

dnf install openstack-glance -y

3.配置文件修改

(1)glance-api.conf

编辑vim /etc/glance/glance-api.conf文件,文件内容过多,进6000行,建议向上文一样使用命令配置,也可以手动配置

cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
#vim /etc/glance/glance-api.conf
crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:111111@controller/glance
crudini --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://controller:5000
crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://controller:5000
crudini --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers controller:11211
crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
crudini --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
crudini --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
crudini --set /etc/glance/glance-api.conf keystone_authtoken project_name service
crudini --set /etc/glance/glance-api.conf keystone_authtoken username glance
crudini --set /etc/glance/glance-api.conf keystone_authtoken password 111111
crudini --set /etc/glance/glance-api.conf paste_deploy flavor keystone
crudini --set /etc/glance/glance-api.conf glance_store stores file,http
crudini --set /etc/glance/glance-api.conf glance_store default_store file
crudini --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
grep '^[a-z]' /etc/glance/glance-api.conf 

4.同步glance数据库

(1)为glance镜像服务初始化同步数据库 生成的相关表

su -s /bin/sh -c "glance-manage db_sync" glance

忽略输出的内容,最后结果为:Database is synced successfully.

(2)同步完成进行连接测试 保证所有需要的表已经建立,否则后面可能无法进行下去

mysql -uglance -p111111 -e "use glance;show tables;"

5.glance镜像服务启动并设置开机自启

systemctl start openstack-glance-api && systemctl enable openstack-glance-api

镜像上传验证

下载一个测试镜像先上传到系统中,然后上传到glance服务

1.下载镜像

cd
wget http://download.cirros-cloud.net/0.5.0/cirros-0.5.0-x86_64-disk.img
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

2.加载环境变量,获取管理员权限

source admin-openrc.sh

3.上传镜像

使用qcow2磁盘格式, bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它

glance image-create --name "cirros-0.5.0" --file ./cirros-0.5.0-x86_64-disk.img  --disk-format qcow2 --container-format bare  --visibility public
glance image-create --name "cirros-0.4.0" --file ./cirros-0.4.0-x86_64-disk.img  --disk-format qcow2 --container-format bare  --visibility public
openstack image create "cirros-0.3.5"  --file ./cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public

4.查看镜像信息

openstack image list

在/var/lib/glance/images/目录下可以看到镜像文件,如果要删除此镜像需要删除数据库信息,再删除镜像文件

ls /var/lib/glance/images/

镜像信息都是存在glance数据库中的,我们可以在glance库中的images表看到上传的镜像信息.

Glance安装配置完成

至此glance镜像服务安装、启动成功。使用VMware虚拟机的话,现在可以关机做快照。

poweroff