2.4. 导入镜像
您可以使用以下两种方法之一将镜像导入到镜像服务(glance):
-
使用
web-download
从 URI 导入镜像。 -
使用
glance-direct
从本地文件系统导入镜像。
web-download
方法默认为启用。云管理员配置导入方法。您可以运行 glance import-info
命令来列出可用的导入选项。
2.4.1. 从远程 URI 导入镜像
您可以使用 web-download
方法从远程 URI 复制镜像。
创建镜像并指定要导入的镜像的 URI:
$ glance image-create-via-import \ --container-format <CONTAINER FORMAT> \ --disk-format <DISK-FORMAT> \ --name <NAME> \ --import-method web-download \ --uri <URI>
-
将
<CONTAINER FORMAT
> 替换为您要为镜像设置的容器格式(None, ami, ari, aki, bare, ovf, ova, docker)。 -
将
<DISK-FORMAT
> 替换为您要为镜像设置的磁盘格式(None, ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso, ploop)。 -
将
<NAME
> 替换为您的镜像的描述性名称。 -
将
<URI
> 替换为您的镜像的 URI。
-
将
您可以使用
glance image-show <IMAGE_ID>
; 命令检查镜像的可用性。-
将
<IMAGE_ID
> 替换为您在创建镜像过程中提供的 ID。
-
将
镜像服务 Web 下载
方法使用两阶段进程来执行导入:
-
Web 下载
方法创建一个镜像记录。 -
Web 下载
方法从指定的 URI 检索镜像。
URI 受可选的 denylist 和 allowlist 过滤的影响。
Image Property Injection 插件可能会向镜像注入元数据属性。这些注入的属性决定了镜像实例在其上启动哪些计算节点。
2.4.2. 从本地卷导入镜像
glance-direct
方法创建一个镜像记录,它会生成一个镜像 ID。镜像从本地卷上传到镜像服务后,它会存储在暂存区域中,并在通过任何配置的检查后激活。在高可用性(HA)配置中使用时,glance-direct
方法需要一个共享暂存区域。
如果不存在通用暂存区域,使用 glance-direct
方法的镜像上传可能会在 HA 环境中失败。在 HA 主动环境中,API 调用被分发到镜像服务控制器。下载 API 调用可以发送到与 API 调用不同的控制器,以上传镜像。
glance-direct 方法使用三个不同的调用来导入镜像:
-
glance image-create
-
glance image-stage
-
glance image-import
您可以使用 glance image-create-via-import
命令在一个命令中执行所有三个调用:
$ glance image-create-via-import \ --container-format <CONTAINER FORMAT> \ --disk-format <DISK-FORMAT> \ --name <NAME> \ --file </PATH/TO/IMAGE>
-
将 &
lt;CONTAINER FORMAT>
;, <DISK-FORMAT
> , <NAME
> , 和 </PATH/TO/IMAGE
> 替换为您的镜像的相关值。
镜像从暂存区域移到后端位置后,会列出该镜像。但是,可能需要过些时间,镜像才会变为活动状态。
您可以使用 glance image-show <IMAGE_ID>
; 命令检查镜像的可用性。
-
将
<IMAGE_ID
替换为您在创建镜像过程中提供的 ID。