本文档面向在 GDC 上的虚拟机运行时内运行虚拟机 (VM) 的平台管理员和应用所有者。本文档介绍如何手动将现有虚拟磁盘映像转换为 qcow2
格式,以便能够使用该来源映像在 Anthos 虚拟机运行时中创建和运行虚拟机。您将了解如何直接从该转换后的虚拟磁盘映像创建虚拟机。
如果需要,GDC 上的 VM Runtime 在部署期间会自动将现有磁盘映像转换为 qcow2
格式。但是,如果您想通过非 qcow2
虚拟磁盘映像创建多个虚拟机,GDC 上的 VM Runtime 每次都必须转换该映像。将映像转换为 qcow2
格式的过程会增加创建和启动虚拟机所花费的时间。为了减少创建每个虚拟机所花费的时间,请先将虚拟磁盘映像转换为 qcow2
格式,如本文档中所示。
准备工作
如需在转换现有虚拟磁盘映像后创建虚拟机,您需要访问以下资源:
- GKE on Bare Metal 1.12.0 版 (
anthosBareMetalVersion: 1.12.0
) 或更高版本集群的访问权限。您可以使用任何能够运行工作负载的集群类型。如果需要,请在 Compute Engine 上试用 GKE on Bare Metal,或查看集群创建概览。 - 作为
kubectl
的插件安装的virtctl
客户端工具。如果需要,请安装 virtctl 客户端工具。
转换虚拟磁盘映像
在本文档中,您将使用 QEMU 磁盘映像实用程序将现有虚拟磁盘映像转换为 qcow2
格式。qemu-img
工具可以将多种格式(例如 vmdk
或 vhdx
)的虚拟磁盘映像转换为 qcow2
格式,以便与 GDC 上的虚拟机运行时结合使用。
如需将虚拟磁盘映像转换为 qcow2
格式,请完成以下步骤:
使用 Linux 发行版的软件包管理器安装
qemu-utils
软件包。Ubuntu
apt-get install qemu-utils
RHEL
yum install qemu-utils
使用
qemu-img
转换现有虚拟磁盘映像:qemu-img convert -f EXISTING_DISK_IMAGE_FORMAT -O qcow2 \ EXISTING_DISK_IMAGE_NAME \ CONVERTED_DISK_IMAGE_NAME.qcow2
替换以下值:
EXISTING_DISK_IMAGE_FORMAT
:现有虚拟磁盘映像的格式,例如vmdk
。EXISTING_DISK_IMAGE_NAME
:现有虚拟磁盘映像的路径和名称。CONVERTED_DISK_IMAGE_NAME
:转换后的qcow2
虚拟磁盘映像的路径和名称。
如需详细了解
qemu-img
工具(例如各种映像格式选项),请参阅 QEMU 磁盘映像实用程序文档。
使用转换后的映像创建虚拟机
如果您想了解转换后的虚拟磁盘映像的实际应用,请创建虚拟机并使用上一部分中创建的 qcow2
格式的本地映像。对于生产用途,您应该将转换后的虚拟磁盘映像上传到中央代码库,然后从 HTTP 来源创建虚拟机启动磁盘或 从 Cloud Storage 使用密文创建虚拟机启动磁盘。
如需使用转换后的本地虚拟磁盘映像,请完成以下步骤:
在集群中创建虚拟机:
kubectl virt create vm VM_NAME \ --os-type OS_TYPE \ --image CONVERTED_DISK_IMAGE_NAME.qcow2
此命令会创建一个默认使用 2 个 CPU、4 Gi 内存的虚拟机。
替换以下值:
VM_NAME
:虚拟机的名称OS_TYPE
:转换后的虚拟磁盘映像的操作系统类型。可以是linux
或windows
。CONVERTED_DISK_IMAGE_NAME
:上一部分中转换后的qcow2
虚拟磁盘映像的路径和名称。
可能需要 10 至 20 分钟才能从转换后的本地虚拟磁盘映像创建虚拟机,具体取决于映像的大小。使用
kubectl
命令检查虚拟机的状态:kubectl get gvm VM_NAME
将
VM_NAME
替换为虚拟机名称。以下示例输出显示该过程完成后处于
Running
状态的虚拟机:NAME STATUS AGE IP MY_VM Running 64s 192.168.2.124
后续步骤
您可以将转换后的虚拟磁盘映像(qcow2
格式)上传到 HTTP 来源或 Cloud Storage。以下文档介绍了如何从这些来源创建虚拟机: