文章目录
- OpenStack(T版)——镜像(Glance)服务介绍与安装
-
- 安装与配置
- 准备
-
- (1)创建数据库
- (2)加载admin user 的环境变量
- (3)创建Identity
- (4)创建Glance镜像服务组件的API endpoint
- 安装和配置Glance镜像服务组件
-
- (1)安装软件包
- (2)编辑文件/etc/glance/glance-api.conf,完成以下操作
- (3)同步数据库
- 安装完成
- 验证
-
- (1)加载环境变量
- (2)上传镜像测试
- (3)查看镜像
OpenStack(T版)——镜像(Glance)服务介绍与安装
Glance镜像服务组件是OpenStack项目中非常重要的组件之一,它可以收到来自用户和Nova计算服务的请求,并支持不同的存储方式,其中包括OpenStack项目中的Swift对象存储。
它需要运行一些进程来保证服务的正常运行。其中,支持缓存和副本服务的进程可以使镜像服务更快地响应用户请求,同时也能够保证数据的可用性和一致性。此外,Glance镜像服务还有专门的进程来进行审计和更新等服务,以保证镜像服务的安全性和更新性。
安装与配置
在controller节点安装和配置Glance镜像服务组件
准备
首先创建数据库、服务证书和API endpoint
(1)创建数据库
①在操作系统终端连接数据库
[root@controller ~]# mysql -uroot -p000000
②创建Glance数据库
MariaDB [(none)]> CREATE DATABASE glance;
③Glance数据的访问权限设置
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '000000';
# GRANT ALL PRIVILEGES:表示授予所有权限。
# ON glance.*:表示授权的数据库为 'glance' 中的所有表。
# TO 'glance'@'%':表示授权给用户 'glance',并指定可以从任何主机('%')上连接数据库
# IDENTIFIED BY '000000':表示用户 'glance' 的密码为 '000000'
④退出数据库
MariaDB [(none)]> exit
(2)加载admin user 的环境变量
[root@controller ~]# source admin-openrc.sh
(3)创建Identity
①创建Glance用户
[root@controller ~]# openstack user create --domain default --password-prompt glance
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 59a87035ab4440ef9535229941d12006 |
| name | glance |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
# --password-prompt:表示通过交互式方式来设置用户的密码。
②将admin role 赋予 glance user 和 service project
# service项目没有创建的话需要创建service项目
[root@controller ~]# openstack role add --project service --user glance admin
# 此命令执行完没有输出
③创建Glance 镜像的 service entity
[root@controller ~]# openstack service create --name glance --description "OpenStack Image" image
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Image |
| enabled | True |
| id | f3c4730c3df64bf5bd8462d028f946ff |
| name | glance |
| type | image |
+-------------+----------------------------------+
(4)创建Glance镜像服务组件的API endpoint
[root@controller ~]# openstack endpoint create --region RegionOne image public http://controller:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 5b16517d4d4a4bd79ccfce8066539128 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 22df534a91874abd88a878669d14a46f |
| service_name | glance |
| service_type | image |
| url | http://controller:9292 |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne image internal http://controller:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | cd91b4ec32e843f99fdb658f75375c86 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 22df534a91874abd88a878669d14a46f |
| service_name | glance |
| service_type | image |
| url | http://controller:9292 |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne image admin http://controller:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 6b24a41176cd493a86595f0310d3f02d |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 22df534a91874abd88a878669d14a46f |
| service_name | glance |
| service_type | image |
| url | http://controller:9292 |
+--------------+----------------------------------+
安装和配置Glance镜像服务组件
(1)安装软件包
[root@controller ~]# yum install -y openstack-glance
(2)编辑文件/etc/glance/glance-api.conf,完成以下操作
①在[database]项,配置数据库连接
# openstack配置文件不能有中文,注释的也不行
[root@controller ~]# vim /etc/glance/glance-api.conf
[database] # 表示该配置项属于数据库连接相关的配置
# ...(省略)...
connection = mysql+pymysql://glance:000000@controller/glance
# 表示使用MySQL数据库进行数据存储,数据库的连接地址为 "controller"
# 数据库的名称为 "glance",用户名为 "glance",密码为 "000000"。
②在[keystone_authtoken]和[paste_deploy]项,配置Keystone身份认证服务组件访问
[keystone_authtoken] # Keystone认证相关的配置
www_authenticate_uri = http://controller:5000 # 表示keystone的服务认证地址
auth_url = http://controller:5000 # 表示keystone的服务认证地址
memcached_servers = controller:11211 # 表示使用缓存服务器地址为
auth_type = password # 表示使用密码方式进行认证。
project_domain_name = Default # 表示使用的项目所属的domain名称为Defualt
user_domain_name = Default # 表示使用的用户所属的domain名称为Default
project_name = service # 表示使用的项目名称为service
username = glance # 表示使用的用户名为glance
password = 000000 # 表示glance的用户密码为000000
[paste_deploy]
# ...(省略)...
flavor = keystone # 表示使用Keystone服务进行认证和授权
③在[glance_store]项,配置虚拟机镜像的存储形式和存储路径
[glance_store] # 表示该配置项属于Glance镜像存储相关的配置。
# ...(省略)...
stores = file,http # 表示支持的镜像存储后端为 "file" 和 "http"
default_store = file # 表示默认的镜像存储后端为 "file"。
filesystem_store_datadir = /var/lib/glance/images/
# 表示使用 "file" 存储后端时,将镜像存储在 "/var/lib/glance/images/" 目录下
(3)同步数据库
[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
# su:表示切换用户
# -s /bin/sh:表示使用 "/bin/sh" 作为切换后的用户Shell
# -c "glance-manage db_sync"
# 表示在切换后的Shell中执行 "glance-manage db_sync" 命令,即进行数据库同步操作。
# glance:表示要切换到的目标用户,即执行 "glance-manage db_sync" 命令的用户。
安装完成
启动Glance镜像服务组件并设置开机自启
[root@controller ~]# systemctl start openstack-glance-api.service && systemctl enable openstack-glance-api.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
验证
(1)加载环境变量
[root@controller ~]# source admin-openrc.sh
(2)上传镜像测试
[[root@controller ~]# glance image-create --name cirros --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img
+------------------+----------------------------------------------------------------------------------+
| Property | Value |
+------------------+----------------------------------------------------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | 2023-06-26T08:04:27Z |
| disk_format | qcow2 |
| id | 6e4a384f-e0af-492a-9c5d-c6fece658c30 |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros |
| os_hash_algo | sha512 |
| os_hash_value | 1b03ca1bc3fafe448b90583c12f367949f8b0e665685979d95b004e48574b953316799e23240f4f7 |
| | 39d1b5eb4c4ca24d38fdc6f4f9d8247a2bc64db25d6bbdb2 |
| os_hidden | False |
| owner | 682605389bcd4a2cb2978bef7ed25f1d |
| protected | False |
| size | 13287936 |
| status | active |
| tags | [] |
| updated_at | 2023-06-26T08:04:28Z |
| virtual_size | Not available |
| visibility | shared |
+------------------+----------------------------------------------------------------------------------+
(3)查看镜像
[root@controller ~]# glance image-list
+--------------------------------------+--------+
| ID | Name |
+--------------------------------------+--------+
| 6e4a384f-e0af-492a-9c5d-c6fece658c30 | cirros |
+--------------------------------------+--------+
本文参考视频
:https://www.bilibili.com/video/BV1fL4y1i7NZ?p=7&vd_source=7c7cb4224e0c273f28886e581838b110
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net