This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.3. 使用 DataVolume 导入虚拟机镜像
您可将现有虚拟机镜像导入到您的 OpenShift Container Platform 集群中。容器原生虚拟化使用 DataVolume 自动导入数据并创建底层 PersistentVolumeClaim (PVC)。
当您将磁盘镜像导入到 PVC 中时,磁盘镜像扩展为使用 PVC 中请求的全部存储容量。要使用该空间,可能需要扩展虚拟机中的磁盘分区和文件系统。
调整大小的流程因虚拟机上安装的操作系统而异。详情请参阅操作系统文档。
先决条件
- 如果端点需要 TLS 证书,该证书必须包含在与 DataVolume 位于相同命名空间的 ConfigMap 中,并在 DataVolume 配置中被引用。
- 您可能需要定义一个 StorageClass 或准备 CDI 涂销空间才能成功完成此操作。
2.3.1. CDI 支持的操作列表 复制链接链接已复制到粘贴板!
此列表针对端点显示内容类型支持的 CDI 操作,以及哪些操作需要涂销空间(scratch space)。
内容类型 | HTTP | HTTPS | HTTP 基本身份验证 | Registry | 上传 |
---|---|---|---|---|---|
KubeVirt(QCOW2) |
✓ QCOW2 |
✓ QCOW2** |
✓ QCOW2 |
✓ QCOW2* |
✓ QCOW2* |
KubeVirt (RAW) |
✓ RAW |
✓ RAW |
✓ RAW |
✓ RAW* |
✓ RAW* |
Archive+ | ✓ TAR | ✓ TAR | ✓ TAR | □ TAR | □ TAR |
✓ 支持的操作
□ 不支持的操作
* 需要涂销空间
** 如果需要自定义证书颁发机构,则需要涂销空间
+ 存档不支持块模式 DV
2.3.2. 关于 DataVolume 复制链接链接已复制到粘贴板!
DataVolume
对象是 Containerized Data Importer (CDI) 项目提供的自定义资源。DataVolume 编配与底层 PersistentVolumeClaim (PVC) 关联的导入、克隆和上传操作。DataVolume 与 KubeVirt 集成,它们可在 PVC 准备好前阻止虚拟机启动。
2.3.3. 使用 DataVolume 将虚拟机镜像导入到对象中 复制链接链接已复制到粘贴板!
要从所导入的镜像创建虚拟机,请在创建虚拟机前在 VirtualMachine
配置文件中指定镜像位置。
先决条件
-
安装 OpenShift Container Platform 命令行界面 (CLI),通常称
oc
。 -
具有 RAW、ISO 或 QCOW2 格式的虚拟机磁盘镜像,可选择使用
xz
或gz
进行压缩 -
托管镜像的
HTTP
端点,以及访问数据源所需的任何身份验证凭证 - 至少一个可用 PersistentVolume
流程
确定用于托管您要导入的虚拟磁盘镜像的
HTTP
文件服务器。您需要一个正确格式的完整 URL:如果您的数据源需要身份验证凭证,请编辑
endpoint-secret.yaml
文件,并在集群中应用更新的配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f endpoint-secret.yaml
$ oc apply -f endpoint-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑虚拟机配置文件,为您要导入的镜像指定数据源。在本例中,导入了一个 Fedora 镜像:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建虚拟机:
oc create -f vm-<name>-datavolume.yaml
$ oc create -f vm-<name>-datavolume.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意oc create
命令创建 DataVolume 和虚拟机。CDI 控制器使用正确注解创建底层 PVC,导入过程随即开始。导入完成后,DataVolume 状态变为Succeeded
,虚拟机可以启动。DataVolume 置备在后台进行,因此无需监控。您可以启动虚拟机,该虚拟机将在导入完成后才会运行。
可选验证步骤
-
运行
oc get pods
并查找导入程序 Pod。该 Pod 会从指定的 URL 下载镜像,并将其存储在置备的 PV 上。 监控 DataVolume 的状态,直至状态显示为
Succeeded
。oc describe dv <data-label>
$ oc describe dv <data-label>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 在虚拟机配置文件中指定的 DataVolume 的数据标签。
要验证置备是否已完成以及 VMI 是否已启动,请尝试访问其串行控制台:
virtctl console <vm-fedora-datavolume>
$ virtctl console <vm-fedora-datavolume>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.4. 模板:DataVolume 虚拟机配置文件 复制链接链接已复制到粘贴板!
example-dv-vm.yaml
- 1
- 您要导入的镜像的
HTTP
源(如适用)。
2.3.5. 模板:DataVolume 导入配置文件 复制链接链接已复制到粘贴板!
example-import-dv.yaml