OpenStack-Glance_镜像服务组件
Glance-简介
1、官网地址
https://docs.openstack.org/glance/rocky/
2、图文简介

OpenStack Glance 是 OpenStack 的核心组件之一,负责镜像服务(Image Service)。它用于管理虚拟机镜像(VM Images),包括镜像的创建、注册、存储和分发。Glance 为 OpenStack 的计算服务(Nova)提供了镜像支持,用户可以通过 Glance 上传、查询和下载镜像,用于创建虚拟机实例。
3、Glance-核心功能
1、镜像管理:
支持镜像的上传、下载、删除和更新。
提供镜像的元数据管理(如名称、描述、格式、大小等)。
2、镜像存储:
支持多种存储后端,如本地文件系统、Swift、Ceph、Amazon S3 等。
提供镜像的存储和检索功能。
3、镜像格式支持:
支持多种镜像格式,如 RAW、QCOW2、VHD、ISO 等。
支持镜像格式的转换。
4、镜像共享与权限控制:
支持镜像在不同项目(Project)之间的共享。
提供基于角色的访问控制(RBAC),确保镜像的安全性。
5、镜像缓存:
支持镜像缓存,加速虚拟机的创建过程。
4、Glance-核心概念
1、Image(镜像):
虚拟机的基础模板,包含操作系统和预装软件。
镜像是只读的,用于创建虚拟机实例。
2、Image Metadata(镜像元数据):
描述镜像的属性信息,如名称、描述、格式、大小、创建时间等。
3、Image Format(镜像格式):
镜像的存储格式,如 RAW、QCOW2、VHD、ISO 等。
4、Image Status(镜像状态):
镜像的生命周期状态,如 queued、saving、active、deleted 等。
5、Image Store(镜像存储):
镜像的存储后端,可以是本地文件系统、对象存储(如 Swift)或分布式存储(如 Ceph)。
6、Image Member(镜像成员):
镜像的共享成员,允许其他项目访问镜像。
5、Glance-架构下组件:
1、Glance API:
提供 RESTful API,用于镜像的上传、下载、查询和管理。
支持多种客户端工具(如 OpenStack CLI、Horizon 仪表盘)。
2、Glance Registry(可选):
存储镜像的元数据。
在较新版本中,Glance Registry 的功能已集成到 Glance API 中。
3、Image Store:
存储镜像的实际数据。
支持多种存储后端,如文件系统、Swift、Ceph 等。
4、Database:
存储镜像的元数据和状态信息。
通常使用 MySQL 或 PostgreSQL。
6、Glance-工作流程
1、上传镜像:
用户通过 Glance API 上传镜像文件。
Glance 将镜像存储到指定的存储后端,并记录元数据。
2、查询镜像:
用户通过 Glance API 查询镜像列表或详细信息。
3、下载镜像:
用户通过 Glance API 下载镜像文件。
4、创建虚拟机:
Nova 从 Glance 获取镜像,用于创建虚拟机实例。
7、Glance-配置与部署流程
1、安装 Glance:
使用包管理工具(如 apt 或 yum)安装 Glance。
例如:apt install glance。
2、配置数据库:
Glance 需要一个数据库(如 MySQL 或 PostgreSQL)来存储元数据。
配置数据库连接信息。
3、配置存储后端:
选择镜像存储后端(如文件系统、Swift、Ceph)。
配置存储参数。
4、启动服务:
启动 Glance API 和 Glance Registry(如果使用)。
例如:systemctl start glance-api。
5、验证安装:
使用 openstack 命令行工具验证 Glance 是否正常工作。
例如:openstack image list。
8、Glance-常用命令
8-1、上传镜像
openstack image create "cirros" \
--file cirros-0.5.2-x86_64-disk.img \
--disk-format qcow2 \
--container-format bare \
--public
8-2、列出镜像
openstack image list
8-3、查看镜像详情
openstack image show <image_id>
8-4、删除镜像
openstack image delete <image_id>
8-5、共享镜像
openstack image add project <image_id> <project_id>
9、Glance-应用场景
虚拟机模板管理:提供标准化的操作系统镜像,用于快速创建虚拟机。
镜像共享:在不同项目或团队之间共享镜像。
镜像备份与恢复:通过 Glance 管理镜像的备份和恢复。
多云环境:支持跨云平台的镜像迁移和分发。
Glance-组件部署
1、数据库配置
1-1、数据库配置
# 连接数据库
mysql -u root -p
# 创建数据库
CREATE DATABASE glance;
# 配置权限
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
# 刷新权限(第二次使用):
flush privileges;
# 注意:Glance用户连接数据库的密码为Glance
1-2、创建一个 glance数据库

1-3、创建一个glance 用户,并赋予其对应的权限,注:首次创建用户 可以不使用刷新操作

1-4、创建一个 glance数据库

2、Glance-软件安装
2-1、安装命令
yum install -y openstack-glance
3、Glance-软件配置
3-1、安装完成之后,进行对应配置信息的修改

3-2、查找数据库连接配置地方 /connection

3-3、set nu 显示文件的行号

3-4、配置对应的数据库连接配置信息

3-5、查找对应认证信息的配置位置 /[keystone_au

3-6、手动添加对应文件配置信息

3-7、取消配置文件中 # flavor = keystone 的注释

3-8、查找对应的存储配置位置 /[glance_stor

3-9、选择存储的方式 使用flie 和http 的方式

3-10、默认存储,使用文件的存储方式

3-11、查找对应的filesystem_store 的配置

3-12、找到 # filesystem_store_datadir 注释取消 ,默认文件磁盘存储位置

3-13、验证,查看一下修改了哪些配置文件内容

3-14、备份修改对应的 glance-registry.conf 配置文件

3-15、配置数据库连接的信息,查找 对应的配置 /connection

3-16、配置glance-registry 在openstack 上的认证信息 /[keystone_au

3-17、启动对应的认证信息,找到 # flavor = keystone ,把对应的注释取消掉就可以了

3-18、验证一下,都修改了哪些信息的内容

Glance-初始化信息操作
1、更新 glance 数据库的配置信息

2、验证表是否创建同步成功

Glance-权限配置
1、执行 admin-openstack.sh 脚本

2、使用 domain 用户,创建一个 openstack 的用户 glance

3、将glance用户 加入到 service项目中,并赋予admin 权限

4、创建一个 image 的service

5、检查效果

Glance-初始化服务的api信息
1、创建服务的api信息



2、检查上面创建的信息结果


Glance-部署效果查看
1、启动glance 的两个服务,查看服务状态

2、将两个服务都设置为开机自启动

3、检查效果

4、下载一个测试镜像

5、加载admin用户环境变量,安装一个 rz命令

6、安装 qemu-kvm 软件

7、查看本地镜像文件的格式

8、先查看一下 对应的镜像文件地址为空,进行映像文件上传到glance中

9、上传镜像bug 处理(503 报错,原因没有给 glance用户 附admin 角色 权限)


10、检查上传镜像文件是否成功


11、检查对应的错误日志看看服务是否出现异常

浙公网安备 33010602011771号