centos7.9上部署openstack(train版)——3. Image--glance
本文介绍了在 OpenStack Train 环境中部署 Glance(镜像服务)的完整过程。Glance 负责虚拟机镜像的发现、注册与分发,是 IaaS 架构的核心组件。文章详细演示了在 Controller 节点上创建 glance 数据库、注册服务用户与端点、安装配置 glance-api 服务,并将其对接 Keystone 认证与 MySQL 数据库。配置默认使用本地文件系统存储镜像。最后
·
概述
- 映像服务(glance)使用户能够发现、注册和检索虚拟机映像。它提供了一个 restapi,使您能够查询虚拟机映像元数据并检索实际映像。您可以将通过映像服务提供的虚拟机映像存储在各种位置,从简单的文件系统到对象存储系统(如 OpenStack 对象存储)。
- OpenStack 映像服务是基础设施即服务(IaaS)的核心。它接受对磁盘或服务器映像的API 请求,以及来自最终用户或 OpenStack 计算组件的元数据定义。它还支持在各种存储库类型上存储磁盘或服务器映像,包括 OpenStack 对象存储。
- OpenStack 映像服务上运行了许多周期性进程以支持缓存。复制服务通过群集确保一致性和可用性。其他周期性过程包括 auditors、updaters 和 reapers。
- OpenStack 映像服务包括以下组件:
- Glance-api:接受用于图像发现、检索和存储的图像 API 调用。
- Glance-registry: 存储、处理和检索有关图像的元数据。元数据包括大小和类型等项。(Glance Registry 服务及其 api 在 Queens 发行版中已被弃用,并可能在开发周期的开始时按照 OpenStack 标准弃用策略被删除。)
- Database:存储图像元数据,您可以根据自己的喜好选择数据库。大多数部署使用 MySQL 或 SQLite。
- Storage repository for image files:支持各种存储库类型,包括普通文件系统(或安装在 glance api 控制器节点上的任何文件系统)、对象存储、RADOS 块设备、VMware 数据存储和 HTTP。请注意,有些存储库只支持只读使用
- Metadata definition service:vendors、admin、service 和用户有意义地定义自己的自定义元数据的通用 API。这些元数据可以用于不同类型的资源,如图像、工件、卷、风格和聚合。定义包括新属性的键、描述、约束以及可以与其关联的资源类型
Controller安装与配置
- 准备环境
- 要创建数据库,请完成以下步骤:
- 使用数据库访问客户端连接到数据库 服务器作为用户:root
$ mysql -u root -p000000 - 创建数据库:glance
MariaDB [(none)]> CREATE DATABASE glance; - 授予对数据库的适当访问权限:glance
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '000000'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '000000'; - 退出数据库访问客户端。
- 使用数据库访问客户端连接到数据库 服务器作为用户:root
- 获取凭据以获取访问权限 仅限管理员的 CLI 命令:admin
$ . ~/admin-openrc.sh - 要创建服务凭据,请完成以下步骤:
- 创建用户:glance
$ openstack user create --domain default --password-prompt glance User Password:000000 Repeat User Password:000000 +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | 265a5094dbf84312973f481fb9cd9ea8 | | name | glance | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+ - 将admin角色添加到glance用户和service项目:
$ openstack role add --project service --user glance admin - 创建服务实体:glance
$ openstack service create --name glance --description "OpenStack Image" image +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Image | | enabled | True | | id | 3ddf665c3d32430eb3987a00bfcb2af3 | | name | glance | | type | image | +-------------+----------------------------------+
- 创建用户:glance
- 创建glance服务 API 端点:
$ openstack endpoint create --region RegionOne image public http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | ba2dae201f0f429eb75933aa17a961cd | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 3ddf665c3d32430eb3987a00bfcb2af3 | | service_name | glance | | service_type | image | | url | http://controller:9292 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne image internal http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 6463bb8a3f2c435ab2bacf45cbe0e26e | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 3ddf665c3d32430eb3987a00bfcb2af3 | | service_name | glance | | service_type | image | | url | http://controller:9292 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne image admin http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 649a0f3e00a64c93be308316a3f5c73d | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 3ddf665c3d32430eb3987a00bfcb2af3 | | service_name | glance | | service_type | image | | url | http://controller:9292 | +--------------+----------------------------------+
- 要创建数据库,请完成以下步骤:
- 安装和配置组件
- 安装软件包:
# yum install -y openstack-glance - 编辑文件并完成 以下操作:
/etc/glance/glance-api.conf[database] # ... connection = mysql+pymysql://glance:000000@controller/glance [keystone_authtoken] # ... www_authenticate_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 = 000000 [paste_deploy] # ... flavor = keystone [glance_store] # ... stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/ - 填充glance服务数据库:
# su -s /bin/sh -c "glance-manage db_sync" glance Database is synced successfully.
- 安装软件包:
- 完成安装
- 启动影像服务并将其配置为在以下情况下启动 系统引导:
# systemctl enable openstack-glance-api.service # systemctl restart openstack-glance-api.service
- 启动影像服务并将其配置为在以下情况下启动 系统引导:
验证操作
- 获取凭据以获取访问权限 仅限管理员的 CLI 命令:admin
$ . ~/admin-openrc.sh - 下载源映像:
$ yum install -y wget $ wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img - 使用 QCOW2 磁盘格式、裸容器格式和公共可见性将映像上传到映像服务,以便所有项目都可以访问它:
$ glance image-create --name "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public +------------------+----------------------------------------------------------------------------------+ | Property | Value | +------------------+----------------------------------------------------------------------------------+ | checksum | 443b7623e27ecf03dc9e01ee93f67afe | | container_format | bare | | created_at | 2023-03-20T13:03:08Z | | disk_format | qcow2 | | id | fa6390a7-e9ef-4f69-80d9-f962f01fe693 | | min_disk | 0 | | min_ram | 0 | | name | cirros | | os_hash_algo | sha512 | | os_hash_value | 6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e | | | 2161b5b5186106570c17a9e58b64dd39390617cd5a350f78 | | os_hidden | False | | owner | fb91e2d3344343d8a78b118d848fd968 | | protected | False | | size | 12716032 | | status | active | | tags | [] | | updated_at | 2023-03-20T13:03:08Z | | virtual_size | Not available | | visibility | public | +------------------+----------------------------------------------------------------------------------+ - 确认上传镜像并验证属性:
$ glance image-list +--------------------------------------+--------+ | ID | Name | +--------------------------------------+--------+ | fa6390a7-e9ef-4f69-80d9-f962f01fe693 | cirros | +--------------------------------------+--------+

更多推荐



所有评论(0)