1.1.1.1. ance服务安装(Image)1.1.1.1.1. 镜像服务概述 镜像服务(Glance)使用户能够发现,注册和检索虚拟机镜像。它提供了一个 REST API,可让您查询虚拟机镜像元数据并检索实际镜像。可以存储通过Image Service在各种位置(从简单的文件系统到像OpenStack Object Storage这样的对象存储系统)提供的虚拟机镜像。
重要:为了简单起见,本指南介绍如何配置Image服务以使用file后端,后端上传并存储在托管Image服务的控制器节点上的目录中。默认情况下,此目录为/var/lib/glance/images/。在继续操作之前,请确保控制器节点在此目录中至少有几GB的可用空间。有关其他后端的要求的信息,请参阅 配置参考。
OpenStack Image服务是基础架构即服务(IaaS)的核心之一。它接受磁盘或服务器镜像的API请求,以及最终用户或OpenStack Compute组件的元数据定义。它还支持在各种存储库类型(包括OpenStack对象存储)中存储磁盘或服务器镜像。 在OpenStack Image服务上运行多个定期进程来支持缓存。复制服务通过集群确保一致性和可用性。
OpenStack Image服务包括以下组件:
glance-api 接受glance API调用,用于镜像发现,检索和存储。 glance-registry 存储,处理和检索有关图像的元数据。元数据包括大小和类型等项。 警告:注册表是OpenStack Image服务使用的私有内部服务。不要将此服务暴露给用户。 Database 存储图像元数据,您可以根据自己的喜好选择数据库。大多数部署使用MySQL或SQLite。 Storage repository for image files 支持各种存储库类型,包括普通文件系统(或安装在glance-api控制器节点上的任何文件系统),对象存储,RADOS块设备,VMware数据存储和HTTP。请注意,某些存储库仅支持只读使用。 Metadata definition service 供应商,管理员,服务和用户的常见API,用于有意义地定义自己的自定义元数据。此元数据可用于不同类型的资源,如图像,工件,卷,规格和聚合( images, artifacts, volumes, flavors, and aggregates.)。定义包括新属性的关键字,描述,约束和可以关联的资源类型。 1.1.1.1.2. 安装和配置本节介绍如何在控制器节点上安装和配置Image Service,代号为glance。为了简单起见,此配置将映像存储在本地文件系统上。 1.1.1.1.2.1. 先决条件在安装和配置映像服务之前,必须创建数据库,服务凭据和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_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ IDENTIFIED BY 'GLANCE_DBPASS'; 更换GLANCE_DBPASS一个合适的密码。 退出数据库访问客户端。
2、输入admin凭据以访问仅管理CLI命令: $ . admin-openrc 3、要创建服务凭据,请完成以下步骤:
创建glance用户: $ openstack user create --domain default --password-prompt glance User Password: Repeat User Password: 将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 1.1.1.1.2.2. 安装和配置组件1、安装软件包: # yum install openstack-glance 2、编辑/etc/glance/glance-api.conf文件并完成以下操作: 在该[database]部分中,配置数据库访问: [database] # ... connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance 替换GLANCE_DBPASS为镜像服务数据库选择的密码。
在[keystone_authtoken]和[paste_deploy]部分中,配置身份服务访问: [keystone_authtoken] # ... auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = GLANCE_PASS
[paste_deploy] # ... flavor = keystone 替换GLANCE_PASS为glance身份服务中为用户选择的密码 。
在本[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_DBPASS@controller/glance 替换GLANCE_DBPASS为镜像服务数据库选择的密码。
在[keystone_authtoken]和[paste_deploy]部分中,配置身份服务访问: [keystone_authtoken] # ... auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = GLANCE_PASS
[paste_deploy] # ... flavor = keystone 替换GLANCE_PASS为glance身份服务中为用户选择的密码 。
4、导入镜像服务数据库: # su -s /bin/sh -c "glance-manage db_sync" glance 1.1.1.1.2.3. 完成安装启动镜像服务并将其配置为在系统引导时启动: # systemctl enable openstack-glance-api.service \ openstack-glance-registry.service # systemctl start openstack-glance-api.service \ openstack-glance-registry.service 1.1.1.1.3. 验证操作使用CirrOS验证镜像服务的操作 ,这个小型的Linux镜像可帮助测试OpenStack部署。 有关如何下载和构建镜像的更多信息,请参阅“ OpenStack虚拟机镜像指南”。有关如何管理镜像的信息,请参阅“ OpenStack最终用户指南”。 注意:在控制器节点上执行这些命令。
1、生效admin凭据以访问仅管理CLI命令:
$ . admin-openrc
2、下载源镜像:
$ wget http://download.cirros-cloud.net ... 3.5-x86_64-disk.img
注意:wget如果未安装,请安装。
3、使用QCOW2磁盘格式,裸容器格式和公共可见性将镜像上传到Image服务 ,所以所有项目都可以访问它:
$ openstack image create "cirros" \
--file cirros-0.3.5-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
4、确认镜像的上传并验证属性:
$ openstack image list
|