常见的 gcloud compute 命令


本文档列出了一些最常用的 gcloud compute 命令。

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. 设置默认区域和可用区

描述项目

运行以下命令可查询有关 Compute Engine 项目的信息,例如项目元数据、ssh 密钥和配额指标:

 gcloud compute project-info describe

如需详细了解如何描述项目,请参阅 gcloud compute project-info describe 参考文档。

使用虚拟机

以下示例显示了使用虚拟机实例时的常见任务。如需详细了解虚拟机实例,请参阅虚拟机实例

创建虚拟机

运行以下命令可创建虚拟机:

gcloud compute instances create VM_NAME \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT

请替换以下内容:

  • VM_NAME:新虚拟机的名称
  • IMAGEIMAGE_FAMILY:指定以下其中一项:
    • IMAGE:所需的公共映像版本。例如 --image debian-10-buster-v20200309
    • IMAGE_FAMILY映像系列。此项表示通过最新的未弃用的操作系统映像创建虚拟机。例如,如果您指定 --image-family debian-10,则 Compute Engine 会通过 Debian 10 映像系列中最新版本的操作系统映像创建虚拟机。
  • IMAGE_PROJECT:包含映像的项目

如需详细了解如何创建虚拟机,请参阅创建和启动虚拟机实例以及 gcloud compute instances create 参考文档。

列出虚拟机

运行以下命令可显示项目中的所有虚拟机:

gcloud compute instances list

如需详细了解如何列出虚拟机,请参阅 gcloud compute instances list 参考文档。

列出具有 GPU 的虚拟机

运行以下命令可显示项目中具有 GPU 的所有虚拟机:

gcloud compute instances list --filter="guestAccelerators.acceleratorCount>0" --format="table(name,zone,guestAccelerators.acceleratorType,guestAccelerators.acceleratorCount,disks.type)"

列出具有本地 SSD 的虚拟机

运行以下命令可显示项目中具有本地 SSD 的所有虚拟机:

gcloud compute instances list  --filter="disks.type='SCRATCH'"  --format="table(name,zone,guestAccelerators.acceleratorType,guestAccelerators.acceleratorCount,disks.type)"

描述虚拟机

运行以下命令可显示与虚拟机关联的所有数据:

gcloud compute instances describe VM_NAME

VM_NAME 替换为虚拟机名称。

如需详细了解如何描述虚拟机,请参阅 gcloud compute instances describe 参考文档。

启动虚拟机

运行以下命令可启动已停止的虚拟机:

gcloud compute instances start VM_NAME

VM_NAME 替换为虚拟机名称。

如需详细了解如何启动虚拟机,请参阅启动和停止实例以及 gcloud compute instances start 参考文档。

停止虚拟机

运行以下命令可停止虚拟机:

gcloud compute instances stop VM_NAME

VM_NAME 替换为虚拟机名称。

如需详细了解如何停止虚拟机,请参阅启动和停止实例以及 gcloud compute instances stop 参考文档。

为虚拟机添加标签

运行以下命令可为虚拟机添加标签:

gcloud compute instances add-labels VM_NAME \
    --labels=KEY=VALUE

请替换以下内容:

  • VM_NAME:虚拟机的名称。
  • KEY=VALUE:标签的键值对。

如需详细了解如何为虚拟机添加标签,请参阅为资源添加标签gcloud compute instances add-labels 参考文档。

连接到虚拟机

使用 SSH 连接到实例

运行以下命令可使用 SSH 连接到虚拟机:

gcloud compute ssh VM_NAME

VM_NAME 替换为虚拟机名称。

如需详细了解如何使用 SSH 连接到虚拟机,请参阅连接到 Linux 虚拟机gcloud compute ssh 参考文档。

使用 SCP 将文件传输到实例

运行以下命令可将文件复制到虚拟机:

gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIRECTORY

运行以下命令可从虚拟机复制文件:

gcloud compute scp VM_NAME:REMOTE_DIRECTORY LOCAL_FILE_PATH

请替换以下内容:

  • LOCAL_FILE_PATH:指向工作站上文件的路径。
  • VM_NAME:您的虚拟机的名称。
  • REMOTE_DIRECTORY:虚拟机上目录的路径。

如需详细了解如何使用 SCP 在虚拟机之间传输文件,请参阅使用 Google Cloud CLI 传输文件gcloud compute scp 参考文档。

使用磁盘

以下示例展示了使用磁盘时的常见任务。如需详细了解磁盘,请参阅存储选项

列出磁盘

运行以下命令可显示项目中的所有磁盘:

gcloud compute disks list

如需详细了解如何列出磁盘,请参阅 gcloud compute disks list 参考文档。

使用快照

以下示例显示了使用快照时的常见任务。如需详细了解快照,请参阅永久性磁盘快照

列出快照

运行以下命令可显示项目中的所有快照:

gcloud compute snapshots list

如需详细了解如何描述快照,请参阅 gcloud compute snapshots list 参考文档。

描述快照

运行以下命令可显示与快照关联的所有数据:

gcloud compute snapshots describe SNAPSHOT_NAME

SNAPSHOT_NAME 替换为快照的名称。

如需详细了解如何描述快照,请参阅 gcloud compute snapshots describe 参考文档。

删除快照

运行以下命令可删除快照:

gcloud compute snapshots delete SNAPSHOT_NAME

SNAPSHOT_NAME 替换为快照的名称。

如需详细了解如何删除快照,请参阅删除快照gcloud compute snapshots delete 参考文档。

使用防火墙规则

以下示例显示了使用防火墙规则时的常见任务。如需详细了解防火墙规则,请参阅 VPC 防火墙规则概览

描述防火墙规则

运行以下命令可显示与防火墙规则关联的所有数据:

gcloud compute firewall-rules describe FIREWALL_RULE_NAME

FIREWALL_RULE_NAME 替换为防火墙规则的名称。

如需详细了解如何描述防火墙规则,请参阅 gcloud compute firewall-rules describe 参考文档。

创建防火墙规则

运行以下命令可创建防火墙规则:

gcloud compute firewall-rules create FIREWALL_RULE_NAME \
    [--allow=PROTOCOL:PORT | --action=ACTION --rules=PROTOCOL:PORT]

指定 --allow--action--rules,并替换以下内容:

  • FIREWALL_RULE_NAME:防火墙规则的名称。
  • ACTION:对匹配项执行的操作(allowdeny)。
  • PROTOCOL:PORT:其流量将受防火墙规则影响的协议和端口。

如需详细了解如何创建防火墙规则,请参阅创建防火墙规则gcloud compute firewall-rules create 参考文档。

使用代管式实例组 (MIG)

以下示例展示了使用 MIG 时的常见任务。如需详细了解 MIG,请参阅代管式实例组 (MIG)

创建托管实例组

运行以下命令可创建 MIG:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE

请替换以下内容:

  • INSTANCE_GROUP_NAME:此实例组的名称
  • SIZE:此实例组的大小
  • INSTANCE_TEMPLATE:此实例组将使用的实例模板的名称

如需详细了解如何创建 MIG,请参阅创建 MIG 的基本场景以及 gcloud compute instance-groups managed create 参考文档。

设置自动扩缩

运行以下命令可根据 CPU 利用率为 MIG 设置自动扩缩:

gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \
    --max-num-replicas=MAX_NUM_REPLICAS \
    --target-cpu-utilization=TARGET_CPU_UTILIZATION

请替换以下内容:

  • INSTANCE_GROUP_NAME:MIG 的名称
  • MAX_NUM_REPLICAS:自动扩缩器可创建的副本数上限
  • TARGET_CPU_UTILIZATION:自动扩缩器应保持的 CPU 级别,介于 0.01.0 之间

如需详细了解如何设置自动扩缩,请参阅自动扩缩实例组gcloud compute instance-groups managed set-autoscaling 参考文档。

使用元数据

以下示例展示了使用元数据时的常见任务。如需详细了解元数据,请参阅存储和检索元数据

添加项目级元数据

运行以下命令可将元数据添加到项目中:

gcloud compute project-info add-metadata VM_NAME \
    --metadata=KEY=VALUE,[KEY=VALUE]

请替换以下内容:

  • VM_NAME:虚拟机的名称
  • KEY=VALUE:元数据键值对

如需详细了解如何将元数据添加到虚拟机,请参阅设置项目级自定义元数据gcloud compute project-info add-metadata 参考文档。

添加实例级元数据

运行以下命令可将元数据添加到虚拟机:

gcloud compute instances add-metadata VM_NAME \
    --metadata=KEY=VALUE,[KEY=VALUE]

请替换以下内容:

  • VM_NAME:虚拟机的名称
  • KEY=VALUE:元数据键值对

如需详细了解如何将元数据添加到虚拟机,请参阅设置实例元数据gcloud compute instances add-metadata 参考文档。

获取帮助页面

以下命令展示了如何获取不同类型的帮助(从关于 gcloud compute 命令的一般帮助,到关于资源组 (instances) 或命令 (create) 的特定帮助)。有关所有资源和命令的综合帮助信息都遵循以下模式:

gcloud compute --help
gcloud compute instances --help
gcloud compute instances create --help

如需获得快速帮助,请使用 -h 标志,而不是 --help 标志。您还可以参阅 Google Cloud CLI 参考文档以查看所有综合帮助信息。

如需了解专门用于配置 gcloud CLI 的命令的综合帮助信息,请运行以下命令:

gcloud topic TOPIC

TOPIC 替换为您要获取帮助信息的主题。如需查看您可以获得帮助的主题列表,请参阅 gcloud topic 参考文档。

后续步骤