创建虚拟机实例时, Distributed Cloud 会自动创建具有默认 配置的永久性启动磁盘。您还必须为虚拟机创建启动磁盘。您可以使用公共映像或自定义映像。
如果实例需要额外的数据存储磁盘, 请为虚拟机添加永久性磁盘。
本文档面向平台管理员或应用运维人员组中的开发者,他们会为虚拟机创建自定义启动磁盘。如需了解详情,请参阅 GDC 网闸隔离配置文档的受众。
准备工作
如需使用 gdcloud 命令行界面 (CLI) 命令,请确保您已下载、安装、
并配置 gdcloud CLI。
Distributed Cloud 的所有命令都使用 gdcloud 或 kubectl CLI,并且需要操作系统 (OS) 环境。
获取 kubeconfig 文件路径
如需针对 Management API 服务器运行命令,请确保您拥有以下资源:
使用 Management API 服务器的 kubeconfig 文件路径替换这些说明中的
MANAGEMENT_API_SERVER。
请求 IAM 角色
请与您的 Project IAM Admin 联系,以请求对您的项目使用以下角色:
Virtual Machine Project Admin (
project-vm-admin):在项目命名空间中创建、修改、列出和删除标准虚拟机和高性能虚拟机。Project Viewer(
project-viewer):查看项目命名空间中的所有资源。
所有虚拟机角色都必须绑定到虚拟机所在项目的命名空间。 请按照以下步骤验证 您的访问权限。
创建启动磁盘
按照本页介绍的步骤创建启动磁盘,以便日后用于创建虚拟机。
使用映像创建启动磁盘
除了创建实例外,您还可以创建独立的永久性启动磁盘,然后将其挂接到实例。本部分介绍如何使用 GDC 提供的操作系统映像 或 自定义操作系统映像创建启动 磁盘。
使用 GDC 提供的映像创建启动磁盘
在使用 GDC 提供的映像创建启动磁盘之前,请查看可用映像的列表。然后使用提供的映像创建启动磁盘。
gdcloud
列出所有可用映像及其最小磁盘大小:
gdcloud compute images list此命令包含 Distributed Cloud 提供的映像和自定义映像。在
vm-system命名空间中选择其中一个。选择 Distributed Cloud 提供的映像来创建虚拟机磁盘:
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=vm-system使用以下定义替换变量:
变量 定义 BOOT_DISK_NAME启动磁盘的名称。 PROJECT要在其中创建启动磁盘的 GDC 项目。 DISK_SIZE启动磁盘的大小,必须至少为映像的 minimumDiskSize。IMAGE_NAME映像的名称。
kubectl
列出所有可用的 GDC 提供的映像:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog获取特定 GDC 提供的映像的
minimumDiskSize。创建的自定义启动磁盘的大小必须至少为minimumDiskSize:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'创建
VirtualMachineDisk对象:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: vm-system size: DISK_SIZE EOF使用以下定义替换变量:
变量 定义 MANAGEMENT_API_SERVERManagement API 服务器 kubeconfig 文件。 IMAGE_NAME映像的名称。 PROJECT要在其中创建启动磁盘的 GDC 项目。 BOOT_DISK_NAME启动磁盘的名称。 DISK_SIZE启动磁盘的大小,必须至少为映像的 minimumDiskSize。
使用自定义映像创建启动磁盘
自定义映像专属于您的项目。如需使用 自定义映像创建虚拟机,您必须先在同一项目中创建自定义映像 (如果尚未创建)。
如果您尚未设置必要的 IAM 角色 来访问项目中的自定义映像,请先进行设置。然后按照这些说明操作。
gdcloud
列出所有自定义映像及其最小磁盘大小:
gdcloud compute images list \ --project=PROJECT \选择自定义映像来创建虚拟机磁盘:
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=PROJECT使用以下定义替换变量:
变量 定义 BOOT_DISK_NAME启动磁盘的名称。 PROJECT要在其中创建启动磁盘的 GDC 项目。 DISK_SIZE启动磁盘的大小,必须至少为映像的 minimumDiskSize。IMAGE_NAME映像的名称。
API
-
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimages.virtualmachine.gdc.goog 获取特定自定义映像的
minimumDiskSize。创建的自定义启动磁盘的大小必须至少为minimumDiskSize:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'创建
VirtualMachineDisk对象:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: PROJECT size: DISK_SIZE EOF使用以下定义替换变量:
变量 定义 MANAGEMENT_API_SERVERManagement API 服务器 kubeconfig 文件。 IMAGE_NAME从 “列出所有自定义映像”命令中选择的映像的名称。 PROJECT要在其中创建启动磁盘的 GDC 项目。 BOOT_DISK_NAME启动磁盘的名称。 DISK_SIZE启动磁盘的大小,必须至少为映像的 minimumDiskSize。