影像服务概述
Image 服务使用户能够发现、注册和检索虚拟机 Image 。它提供了一个REST API,能够查询虚拟机 Image 元数据并检索实际 Image 。您可U x i & . j ? J .以将通过 Image 服务提供的虚拟机 Image 存储在各种位置,从简单的文件系统到对象存储系统(如 OpenStack 对象存储)。
注意
为简单起见,本指南介绍将 Image 服务配r ? K U { 4 # 7置为使用端,该端上载并存储到托管 Image 服务的控制器节点上的目录中。默认情况下,此目录为 。
file
/var/lib/glance/images/
在继续操作之前,请确保控制器节点在此目录中至少有几 GB 的空间可用。请记住,由于后端通常是| H ? 7 & a 9 B Q控制器节点的本地,因此它通常不适合多节点概- N | ] W # t z h览部署。
file
有关其他后端要求的信息,请参阅配置参考。
OpenStack Image 服务是基础架构作为服务(IaaS)的核心。它接受来自最终用户或 OpenStack 计算? ! S g $ $ z组件的磁盘或服务器 Image 的 APIC , s 2 请求以及元数据定义。它还支持在各种存储库类型(包括 OpenStack 对象存储)上存储磁盘或服务器 Image 。
在 OpenStack Image 服务上运行许多定期进程以支持缓存。复制服务确保群集* K P F / Q的一致性和可用性。其他定期流程包括审核人员、更新人员和删除人员。
OpenStack Image 服务包括以下组件:
-
glance-api
接受 Image API 调用,用于图像发现、检索和存储。 注意 Pike 版本中的 OpenStack 社区目标是通过 WSGI 部署控制平面 API 终结点。但是,正如目前构成的,glance-api 不适合在这样的配置中运行。相反,我们建议以传统方式作为独立服务 s y B h ( O I U器运行概览。有关详细信息,请参阅 Pike 和 Queen 版本中的"概览发行说明"部分。
-
glancee = B . ? [ w | a-registry
存储、处理和检索有关图像的元数据。元数据包括大小和类型等项。
注意
注册表是一种专用u 0 ; Y y的内部服务,供 OpenStack Image 服务使用。不要向用户公4 F = f 5 U t 0 ;开此服务。
Glancet J # q I W 注册服务及其 API 在 Queen 版本中已弃用,并i G ( q且在 OpenStack 标准弃用策略的"S"开发周期开始时可能会删除。有关详细信息,请参阅概览规范文档实际上弃用概览注册表。
-
Database
存储镜像元数据,您可以选择数据= = / O库,具体取决于您的偏好。大多数部署都使用 MySQL 或 SQLite。
-
Storage repository for image files (Image 文件的存储存储库)
支持各种存储库类型,包括普通文件系统(或安装在 glance-api 控制器节点上的任何文件系统)、对象存储、RADOS 块设备、VMware 数据存储和 HTTP。
注意
某些存储库仅支持只读用法。
-
Metadata definition service (元数据定义服务)
用于为发行商,管理员,服务和用q $ 5 w 8户提L N ( S R供的有意义地定义自定义元数据的通用API。此元数据可用于不同类型的资源,如映像(imagG ! v h [ & oe)[ | z D l V ! ],卷(volumn),模版(flav& @ Jor)等。定义的内容可以包括新属性j e k .的键,描述,约束以及与之相关的资源类型。
安装和配置
本节介绍如何在控制器节点上安装和配置映像服务S A q h(代码命名概览)。为简单起见,此配置将映像存储到5 k U ( i : a T G本地文件系统上。
先决条件
在安装和配置映像服务之前,必须创建数据库、服务凭据和 API 终结点。
-
若要创建数据库,/ v O @ G F 6 @请完x 6 } x f 9 6成以下步骤:
-
使用数据库访问客户A D T x _ X端以用户方式连接到数据库服务器:
root
$b A , # & v mysql -u root -p
-
创建数据库:
glance
M2 s tariaU n w : gDB [(} Q * Gnone)]> CREATE DATABASE glance;
-
授予对数u I ( )据库的适当访问权限:
glance
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'- h b@'localhost' IDENTIFIED BY 'glance'; MariaDB [(none)]> GRANT! D S ALL PRIVILEGES ON glance.* TO : t W _ o'glance'@'%' I- 2 XDENTIFIED BY 'glance';
替换为合适的密码。
GLANCE_DBPASS
- 退出数据库访问客户端。
-
-
源凭据以访问仅管C t w ] p V e } n理员 CLI 命令:
admin
$ .T # ] p W R _ a z admin-openrc
-
若要创建服务凭据,请完成以下步骤:
-
创建用户:
glance
$ openstack user create --domain default --password-prompt glance User Password: Repeat User Password: +---------------------+~ x E 5 # 7 b----------------------------------+ | Field | Value | +------1 ` | D ! ^ * ]---------------+---------------g b * y ^ B 7-------------------+ | domain_id | default | | enableG G n kd | True | | id | 6013055ac6cf3 * 9 $46918943e9dfdde7c171 | | name | glance | | options | {} | | pav S +ssword_expires_at | None | +--------. K ! Q v R j i %-------------+----------------------------------+
-
将角色添加到用户和项目:
admv U J Q K D 7in
glance
service
$ oB s R Rpenstack role addu q } f y ? | G H --project service --us~ / P 6 K Jer glance admin
注意
此命令不提供输出。
-
创建服务实体:
glance
$ openstack service create --name glance --dH : + s P , a Uescription "OpenS= C x A X 6 | # Atack Image" image +----k O / L I ) P---------+--------------------I X 6 D--------------+ | Field | Value | +-------------+-----------W Z C /---------^ p ) = B--------------+ | description | OpenStack Image |; F f 1 | enabled |6 % T - 0 p True | | id | 3bae498cf8c54887a6292c36ff6b4eb4 | | name | glance | | type | image | +----n a w N 1 o J B---------+--------------------H [ h * r ) 3 h--------------+
-
-
创建 Image 服务 endpoint:
[root@controller ~]# openstack endpoint creu J eate --region RegionOne image public http://controller:9292 +--------------+ { +-| ? Y ;----W i F % o d-----------------------------+ | FiR . 3eld |O 6 U F 3 Value | +--------------+----------------------------------+ | enabled | True | | id | cf25ebee98f04b6fy p W 3 z S g 9bdcf8ed6ac02bc71 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 3bae498cf8c54887a6**p | - p = m*** | | serv} r @ R r T Hice_name | glance | | service_type5 z 2 L I & 5 U f | image | | url | http://controller:9292 | +---7 & ] D g / q--1 r | ; R A U ,---------+--# : p--------------------------------+ [rl R g 0 Q n a &oot@W x C / & r t 6contro] ~ ( ller ~]# openstack endpoint create --region RegionOne im9 @ 7 5 . + age internal http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | b957e2b8f25b40d7a684f883c2f91857 | | inteA * b z # mrs m J ! : u $ -f& E ) 9 : | uace | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 3bae498cf8c54887av ^ c y x6***** | | service_name | glance |E i ] ! / i 5 : U | service_type | image | | url | http://conto H a + Nroller:9292T R q Y | +--------------+----------------------------------+F k V P B 6 n / [root@controller ~]# openstack endpoint create --region RegionO~ A ( yne image admin http://controller:9292 +--------------+--------------------------I y j--------+ | Field | Val* ^ G P t IueC 4 e J i L % P | +--------------+----------------------------------+ | enabled | TU , Y J _ F 9rue | | id | 054b5a8cb7084c649( $ p V Q p434b0b434748fac | | interface | adminq P K L 4 d n | | region | RegionOne | | region_id | RegionOne | | service_id | 3bae498cf8c54887a6***** | | service_name | glance | | service_type | image | |n i s a t o url | http://controller:9292 | +--------------+----------------------------------+
安装和配置组件
注意
默认配置文件因分布而异。您可能需要添加这些节和选项,H } Q L 0 e * / }而不是修改现有节和选项。此外,配置代码段中的省略号 () 指示应保d ) h W [ z留的潜在默认配置选项。
...
-
安装包:
# yum inS B r s M @ F i Tstall openstack-glance
-
编辑文件并完成以下操作:
/etc/glance/glance-api.conf
-
在 本节中,配置数据库Q Z e H ! X h访问:
[database]
[database] # ... connection =I o H = C mysql+pymysql://glance:glance@controller/glance
替换为为影 Image 服务数据库选择的密码。
GLANCE_DBPASS
-
在 和 部? L v 7分中,配置标识服务访问:
[keystone_authto= F . # G ( c Gken]
[pasx & ) + Rte_deploy]
[keystone_authtoken] # ... www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password7 % L X H P N ] x project_domain_name = Default user? i j ] r a k R N_domain_name = Default project_name = service username = glance password = GLANCE| @ b # H w y /_C ( g k 2 QPASS [pa5 C J % ! 8 E -sr ) i { ) a [ ^te_deploy] # ... flavor = keystone
替换为"标识"服务中为用户选择的密码。
GLANCE_PASS
glance
注意
注释掉或删除部分中任何其他选项。
[keystone_authtoken]
-
在 部分中,配置本地文件系统存储和映像文件的位置:
[glance_store]
[glance_store] # ... stores = fW ~ F S Y M b sile,ht6 } i ) ktp default_store = file fi5 : m e o l _ Xlesystem_store_datadir = /var/lib/glance/images/ $ mkdir -pv /var/lib/glance/images/ $ chown -R glance:glance /var/lib/glance
-
-
填充影像服务数据库:
# su -s /bin/sh -c "glance-manageM D 9 8 9 T do A 4b_s? 7 6 6 7 X y t *ync" glance
注意
忽略此输出中的任何弃用消息。
完成安装
-
启动映像服务并将其配置为在系统启动时启动:
# systemctl enable openstack-glance-api.service # systemctl start openstack-glance-api.service
验证操作
使用CirrOS验证镜像服务
有关如何下载和生成映像的信息,2 D % 1 * . M N f请参阅OpenStack 虚拟机映像指南。有关如何管理映像的信息,请参阅OpenStack 最终用户指南。
注意
在控制器节点上执行这些命令。
-
源凭据以访问仅管理员 CLI 命令:
admin
$ . ad) M % 1 Bmin-openrc
-
下Q L C r = V s h载源映像:
$ w8 - * ] + -get+ m u z y , y L http://download.cirros-cloud.nI H H u Oet/0.4.0/cirros-0.4.0-x86_64-disk.img
-
使用QCOW2磁盘格式、裸容器格式和公共可见性将映像上传到映像服务,以便所有项目都可以访问它:
$ openstack image create "cirroP ` : ~ L z m $s" --file cirros-0.4.0-x86_64-disk.img --d+ 0 h y aisk-format qcow2 --container-format bareX u 1 [ + 0 --publs X E [ * j s } kic +------------------+------------------------------------------------h 6 B------------@ c h------------------------------v q y T = j k--------------------------------------------------------------------------------------------------+ | Field | Value | +------------------+------------------------------------------------------. Y 5 D P / e ` ?--------------------------------------------6 [ F y v p ------------------N s X x ;-----------------------------------[ 9 Q Z------------------Z | ) 7 m s `--------------------+ | checksum | 443b7623= U Z v Y 9e27ecf03dc9e01ee93f67afe | | container_format | bare | | created_at | 2020-12-08T09:52:16Z | | disk_formatd 0 J n | qcow2 | | file | /v2/images/1907*** /file | | id | 19073*** |v A & | min_disk | 0 | | min_ram | 0 | | name | cirros | | owner | e8e ; j U39bd39c3f426ea753111 T { l1acc4e6358 | | properties | os_hash_algo='sha512', os_hash_value='6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e10 h G (d14( D p s - %cd6a153f735bb0982e2161b5b5186106570c17a9e58b64dd39390617cd5a35= F 5 W + F0f78', os_hidden='FalseB R & ? * ~ z 4' | | protected | False | | schema | /v2/sc[ & 2hemas/image | | size | 127j & y ^16032 | | status | active | | tags | | | updated_atN W % c n | 2020-12-08T09:52:16Z | | virtual_siz* q be | None | | visibili) o s D d b x ) ;ty | public | +------------------+-------------------------x T G E l B-------------------------------------------------------F 8 = ? [ (----------------------------------------- h F g-----------------------------y 0 Y / Z U---------------------------------------+
有关概览参数的c * # ; ~ # l信息,请参阅中的影像服务(概览)命令行客户端。
OpenStack User Guide
有关映像的磁盘和容器格式的信息,请参阅 中的映像的磁盘和容器格式。
OpenStam V u # jck Virtual Machine Image Guide
注意
OpenStack 动态生成 ID,因此您将在示例命令输出中看到不同的值。
-
确认U X E X g图像的上传并验证属性:
$ glance imag? ^ 7 @ 6 ! 7 We-list +--------------------------------------+--------+ | ID | Name | +--------------------------------------+--------+ | 19073eC ) ] 4 ,ea-c2f0-47b5-9a55-f084815f1c0f | cirros | +--------------------------------------+--------+
发表评论