参考官方文档:https://docs.openstack.org/install-guide/index.html
https://docs.openstack.org/glance/rocky/install/
https://docs.openstack.org/glance/rocky/install/get-started.html#running-glance-under-python3
四、安装glance镜像服务
映像服务(概览)使用户可以发现,注册和检索虚拟机映像。它提供了 REST API,使您可以查询虚拟机映像元数据并检索实际映像。您可以将通过Image服务提供的虚拟机映像存储在从简单文件系统到对象存储系统(如OpenStack Object Storage)的各种位置。
目录
(3)使用QCOW2磁盘格式,裸 容器格式和公共可见性将图像上传到图像服务 ,以便所有项目都可以访问它:
1、概述
为简单起见,本指南介绍了将Image服务配置为使用file
后端的方法,该后端会将其上传并存储在托管Image服务的控制器节点上的目录中。默认情况下,该目录为/var/lib/glance/images/
。
在继续之前,请确保控制器节点在此目录中至少有几个GB的可用空间。请记住,由于file
后端通常位于控制器节点本地,因此通常不适合多节点扫视部署。
OpenStack映像服务对于基础架构即服务(IaaS)至关重要。它接受来自磁盘或服务器映像的API请求,以及来自最终用户或OpenStack Compute组件的元数据定义。它还支持在各种存储库类型(包括OpenStack对象存储)上存储磁盘或服务器映像。
OpenStack Image服务上运行许多定期进程以支持缓存。复制服务可确保整个群集的一致性和可用性。其他定期过程包括审核员,更新者和收割者。
2、安装和配置
本节介绍如何在控制器节点上安装和配置代号为glance的Image服务。为简单起见,此配置将图像存储在本地文件系统上。
(1)前提条件
在安装和配置Image服务之前,必须创建数据库,服务凭证和API端点。
1.要创建数据库,请完成以下步骤:
- 使用数据库访问客户端以
root
用户身份连接到数据库服务器:
mysql -u root -p
- 创建
glance
数据库:
MariaDB [(none)]> CREATE DATABASE glance;
- 授予对
glance
数据库的适当访问权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \ IDENTIFIED BY 'glance'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ IDENTIFIED BY 'glance';
- 退出数据库访问客户端。
2.来源admin
凭据来访问仅管理员CLI命令:
$ . admin-openrc
3.要创建服务凭证,请完成以下步骤:
- 创建
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
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
(2)安装
默认配置文件因分发而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。另外,...
配置摘要中的省略号()表示您应保留的潜在默认配置选项。
1.安装软件包:
yum install openstack-glance
2.编辑/etc/glance/glance-api.conf
文件并完成以下操作:
- 在该
[database]
部分中,配置数据库访问:
[database] # ... connection = mysql+pymysql://glance:glance@controller/glance
- 在
[keystone_authtoken]
和[paste_deploy]
部分中,配置身份服务访问:
[keystone_authtoken] # ... auth_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 = glance [paste_deploy] # ... flavor = keystone
- 在该
[glance_store]
部分中,配置本地文件系统存储和图像文件的位置:
[glance_store] # ... stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/
3.编辑/etc/glance/glance-registry.conf
文件并完成以下操作:
- 在该
[database]
部分中,配置数据库访问:
[database] # ... connection = mysql+pymysql://glance:glance@controller/glance
- 在
[keystone_authtoken]
和[paste_deploy]
部分中,配置身份服务访问:
[keystone_authtoken] # ... auth_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 = glance [paste_deploy] # ... flavor = keystone
4.填充图像服务数据库:
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、验证操作
使用CirrOS(一个小型Linux映像,可帮助您测试OpenStack部署)验证Image Service的运行 。
在控制器节点上执行这些命令。
(1)来源admin
凭据来访问仅管理员CLI命令:
. admin-openrc
(2)下载源图像:
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
(3)使用QCOW2磁盘格式,裸 容器格式和公共可见性将图像上传到图像服务 ,以便所有项目都可以访问它:
openstack image create "cirros" \ --file cirros-0.4.0-x86_64-disk.img \ --disk-format qcow2 --container-format bare \ --public
(4)确认上传图片并验证属性:
openstack image list