准备工作
如需使用 gdcloud
命令行界面 (CLI) 命令,请确保您已下载、安装并配置 gdcloud
CLI。Distributed Cloud 的所有命令都使用 gdcloud
或 kubectl
CLI,并且需要操作系统 (OS) 环境。
获取 kubeconfig 文件路径
如需针对管理 API 服务器运行命令,请确保您拥有以下资源:
登录并生成管理 API 服务器的 kubeconfig 文件(如果您还没有)。
使用管理 API 服务器的 kubeconfig 文件路径替换这些说明中的
MANAGEMENT_API_SERVER
。
请求权限和访问权限
如需执行本页面中列出的任务,您必须具有 Project VirtualMachine Admin 角色。按照相关步骤验证您是否在虚拟机所在项目的命名空间中拥有 Project VirtualMachine Admin (project-vm-admin
) 角色。
对于使用 GDC 控制台或 gdcloud CLI 的虚拟机操作,请让您的项目 IAM 管理员为您分配“Project VirtualMachine Admin”角色和“Project Viewer”角色 (project-viewer
)。
创建启动磁盘
创建虚拟机 (VM) 实例时,您还必须为虚拟机创建启动磁盘。您可以使用公共映像或自定义映像。
当您创建虚拟机实例时,GDC 会自动创建永久性启动磁盘。如果实例需要额外的数据存储磁盘,请向虚拟机添加永久性磁盘。
执行本页中所述的过程创建稍后可用于创建虚拟机的启动磁盘。
使用映像创建启动磁盘
除了创建实例外,您还可以创建独立的永久性启动磁盘,然后将其挂接到实例。本部分介绍如何通过 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 \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
获取特定 GDC 提供映像的
minimumDiskSize
。创建的自定义启动磁盘的大小必须至少为minimumDiskSize
:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
创建
VirtualMachineDisk
对象:kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -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_SERVER
管理 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 \ get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
获取特定自定义映像的
minimumDiskSize
。创建的自定义启动磁盘的大小必须至少为minimumDiskSize
:kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
创建
VirtualMachineDisk
对象:kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply --namespace PROJECT -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_SERVER
管理 API 服务器 kubeconfig 文件。 IMAGE_NAME
从列出所有自定义映像命令中选择的映像的名称。 PROJECT
要在其中创建启动磁盘的 GDC 项目。 BOOT_DISK_NAME
启动磁盘的名称。 DISK_SIZE
启动磁盘的大小必须至少为映像的 minimumDiskSize
。
如需替换启动磁盘,请参阅替换启动磁盘页面。