gcloud compute


借助 Google Cloud CLI,您可以使用 gcloud compute 命令组管理 Compute Engine 资源。gcloud compute 是使用 Compute Engine API 的替代方法。

gcloud CLI 属于 Google Cloud CLI,是一种统一的命令行工具,具有语句自动补全、就地更新、命令行帮助、简单易读和机器可解析的输出格式以及与 Google Cloud CLI 集成等功能。

如果您以前从未使用过 Compute Engine,请从 Linux 快速入门Windows 快速入门开始。

准备工作

  • 如果您要在命令提示符中运行 gcloud compute,请安装、更新并初始化 Google Cloud CLI
  • 如果您没有随时可用的命令提示符,请尝试使用 Cloud Shell 中的 gcloud compute。Cloud Shell 会使用最新的 Google Cloud CLI 自动安装、更新并初始化。

默认属性

创建虚拟机实例时,Compute Engine 会使用元数据服务器中的默认属性配置虚拟机。您可以通过运行以下命令来检查虚拟机的默认属性:

gcloud compute project-info describe --project PROJECT_ID

PROJECT_ID 替换为您的项目 ID。

默认项目

如果您在设置和初始化 Google Cloud CLI 时设置了默认项目,则所有 gcloud compute 命令都会默认使用该项目 ID。

您可以使用以下任一方法替换默认项目 ID:

  • 运行带有 --project 标志的每个 gcloud compute 命令
  • 设置 CLOUDSDK_CORE_PROJECT 环境变量

    Linux 和 macOS

    使用 export 命令设置项目环境变量。

    export CLOUDSDK_CORE_PROJECT=PROJECT_ID
    

    PROJECT_ID 替换为您要用作默认项目的项目的 ID。

    取消设置项目环境变量

    如果您需要取消设置项目环境变量,请使用以下 unset 命令:

    unset CLOUDSDK_CORE_PROJECT
    

    Windows

    使用 set 命令设置项目环境变量。

    set CLOUDSDK_CORE_PROJECT=PROJECT_ID
    

    PROJECT_ID 替换为您要用作默认项目的项目的 ID。

    取消设置项目环境变量

    如果您需要取消设置项目环境变量,请使用以下命令:

    set CLOUDSDK_CORE_PROJECT=
    

如果您未设置默认项目或环境变量,您必须在您运行的每个 gcloud compute 命令中加入 --project 标志。

默认区域和可用区

某些 gcloud compute 命令需要 --region--zone 标志。您可以为项目设置默认区域和可用区,而不是在每次运行命令时都指定这些标志。如果您未设置默认区域或可用区,并运行依赖于区域或可用区的命令,则 Google Cloud CLI 可能会提示您提供 --region--zone 标志,或者返回错误。

您可以通过以下三种方式设置默认区域和可用区:

  • 在元数据服务器中设置。当您运行 gcloud init 时,元数据服务器中设置的默认区域和可用区会应用于本地客户端。
  • 在本地客户端中设置。本地客户端中设置的默认区域和可用区会替换元数据服务器中设置的默认区域和可用区。
  • 在环境变量中设置。环境变量中设置的默认区域和可用区会替换本地客户端和元数据服务器中设置的默认区域和可用区。

您可以替换元数据服务器、本地客户端或环境变量中的默认区域和可用区,方法是:在运行命令时提供 --region--zone 标志。

查看默认区域和可用区

如需查看默认区域和可用区,请运行以下命令:

gcloud config get-value compute/region
gcloud config get-value compute/zone

如果输出为 (unset),则说明未设置任何默认区域或可用区。

查看可用区域和可用区

您可以通过运行以下命令查看区域和可用区列表:

gcloud compute regions list
gcloud compute zones list

在元数据服务器中设置默认区域和可用区

元数据服务器中的默认区域和可用区会应用于项目中的所有configurations。如需在元数据服务器中设置默认区域和可用区,请执行以下操作:

  1. 设置默认区域和可用区:

    gcloud compute project-info add-metadata \
       --metadata google-compute-default-region=REGION,google-compute-default-zone=ZONE
    

    例如:

    gcloud compute project-info add-metadata \
       --metadata google-compute-default-region=europe-west1,google-compute-default-zone=europe-west1-b
    
  2. 在本地客户端中初始化更改的内容:

    gcloud init

您可以替换元数据服务器中设置的默认区域和可用区,方法是:在本地客户端中设置默认区域和可用区、在环境变量中设置默认区域和可用区,或者在命令中添加 --zone--region 标志。

在元数据服务器中取消设置默认区域和可用区

如需在元数据服务器中取消设置默认区域和可用区,请执行以下操作:

  1. 取消设置元数据:

    gcloud compute project-info remove-metadata \
       --keys=google-compute-default-region,google-compute-default-zone
    
  2. 在本地客户端中初始化更改的内容:

    gcloud init

在本地客户端中设置默认区域和可用区

本地客户端中设置的默认区域和可用区会替换元数据服务器中设置的默认区域和可用区。

如需在本地客户端中设置默认区域和可用区,请运行以下命令:

gcloud config set compute/region REGION
gcloud config set compute/zone ZONE

在本地客户端中取消设置默认区域和可用区

如需在本地客户端中取消设置默认区域或可用区,请运行以下命令:

gcloud config unset compute/zone
gcloud config unset compute/region

您可以替换本地客户端中设置的默认区域和可用区,方法是:在环境变量中设置默认区域和可用区,或者在命令中添加 --zone--region 标志。

在环境变量中设置默认区域和可用区

环境变量中设置的默认区域和可用区会替换本地客户端和元数据服务器中设置的默认区域和可用区。

Linux 和 macOS

使用 export 命令设置区域和可用区变量。

export CLOUDSDK_COMPUTE_REGION=REGION
export CLOUDSDK_COMPUTE_ZONE=ZONE

如需使这些环境变量永久生效,请将这些命令添加到 ~/.bashrc 文件中并重启终端。

Windows

使用 set 命令设置区域和可用区变量。

set CLOUDSDK_COMPUTE_REGION=REGION
set CLOUDSDK_COMPUTE_ZONE=ZONE

您可以通过在命令中添加 --zone--region 标志来替换环境变量。

在环境变量中取消设置默认区域和可用区

使用以下命令在环境变量中取消设置默认区域和可用区。

Linux 和 macOS

如需取消设置区域和可用区环境变量,请使用以下 unset 命令:

unset CLOUDSDK_COMPUTE_REGION
unset CLOUDSDK_COMPUTE_ZONE

Windows

如需取消设置区域和可用区环境变量,请使用以下命令:

set CLOUDSDK_COMPUTE_REGION=
set CLOUDSDK_COMPUTE_ZONE=

使用标志替换默认可用区

使用 --zone 标志替换元数据服务器、本地客户端和环境变量中设置的默认可用区。

例如:

gcloud compute instances create example-instance \
    --zone=ZONE

配置

gcloud topic configurations 是一种高级功能,可用于影响 gcloud CLI 的行为。对于大多数用户而言,使用默认配置就足够了。

配置可能适合具有以下特点的用户:

  • 处理多个项目。您可以为每个项目创建单独的配置。
  • 使用多个账号。例如,一个用户账号和一个服务账号。
  • 执行各种独立任务(在一个项目中处理 App Engine 应用、在可用区 us-central-1a 中管理 Compute Engine 集群、管理区域 asia-east-1 的网络配置等等)。

如需在配置之间切换,请运行以下命令:

gcloud config configurations activate CONFIGURATION_NAME

如需详细了解如何管理配置,请参阅 gcloud config configurations

后续步骤