管理 gcloud CLI 配置

配置是一组指定的 Google Cloud CLI 属性。这些属性是管理 gcloud CLI 行为的键值对,这些部分按部分进行整理。

配置中存储的常见属性包括默认 Compute Engine 可用区、详细程度、使用情况报告、项目 ID,以及活跃用户或服务帐号。通过配置,您可以将这些设置及其他设置作为一个组一起定义和启用。

配置存储在用户配置目录中(在 MacOS 和 Linux 上通常为 ~/.config/gcloud);您可以通过运行 gcloud info --format='value(config.paths.global_config_dir)' 找到配置目录的位置。您可以通过设置环境变量 CLOUDSDK_CONFIG 更改配置目录。另请注意,配置目录必须已启用写入功能。但是,如果您使用的是 Cloud Shell,您的 gcloud CLI 偏好设置会存储在一个临时的 tmp 文件夹中,该文件夹仅为当前的 Cloud Shell 标签页设置,并且不会在会话之间保留。

如果您有多个配置,可以选择在这些配置之间切换,或者使用特定配置运行命令(借助 --configuration 标志)。如需详细了解如何切换配置,请参阅下文有关激活配置的部分。

如需通过命令行了解配置(以及可用属性及其所在部分的完整列表),请运行 gcloud topic configurations

默认配置

gcloud CLI 可帮助您从名为 default 的单个配置入手。您可以通过运行 gcloud init 命令或直接运行 gcloud config set 来配置配置中的属性。

例如,如需停用对脚本的提示,请运行以下命令:

gcloud config set disable_prompts true

多个配置

单个 default 配置适用于许多使用场景。但是,您还可以创建其他配置并根据需要使用 gcloud config configurations activate 在它们之间切换。初始 default 配置没有什么特别之处;它只是为了方便您使用。您可以随意命名此配置以及任何其他配置。

如果您想要执行以下操作,则多个配置非常有用:

  • 使用多个项目:您可以为每个项目创建单独的配置,并根据需要在它们之间切换。
  • 使用多个授权帐号
  • 执行通常具有独立性的任务:例如,您可以使用一个配置来处理一个项目中的 App Engine 应用,并管理另一个项目中的不相关 Compute Engine 实例。

创建配置

要创建配置,请运行 gcloud config configurations create

gcloud config configurations create [NAME]

您必须在创建后激活新配置,然后才能使用新配置。

激活配置

在给定时间内,只有多项配置是有效的。活跃配置的属性会控制 gcloud CLI 的行为。

如需激活新配置或切换到新的活跃配置,请运行以下命令:gcloud config configurations activate

gcloud config configurations activate [NAME]

gcloud config list 将始终向您显示活跃配置中的属性。

如需更改单个命令调用的活跃配置,您可以对任何 gcloud CLI 命令使用 --configuration 标志:

gcloud auth list --configuration=[CONFIGURATION_NAME]

如需更改当前终端中所有命令的活跃配置,您可以将环境变量 CLOUDSDK_ACTIVE_CONFIG_NAME 设置为您要使用的配置的名称。

自动执行配置切换

为了帮助无缝更改配置,您可以利用 direnvondir 等工具在切换工作目录时自动切换配置。 实现此目的的一种方法是在项目根目录的 .envrc 文件中设置必要的环境变量(如 CLOUDSDK_ACTIVE_CONFIG_NAME)。

列出配置

如需列出 gcloud CLI 安装中的配置,请运行 gcloud config configurations list

gcloud config configurations list

gcloud CLI 会列出配置并显示哪个配置处于有效状态:

NAME         IS_ACTIVE     ACCOUNT            PROJECT               DEFAULT_ZONE  DEFAULT_REGION
default      False         user@gmail.com     example-project-1     us-east1-b    us-east1
project-1    False         user@gmail.com     example-project-2     us-east1-c    us-east1
project-2    True          user@gmail.com     example-project-3     us-east1-b    us-east1

设置配置属性

如需设置和取消设置活跃配置中的属性,请运行 gcloud config setgcloud config unset

gcloud config set project [PROJECT]

gcloud config unset project

也可以通过名为 CLOUDSDK_SECTION_NAME_PROPERTY_NAME 的环境变量设置属性。例如,您可以按如下所示设置 core/projectcompute/zone 属性:

CLOUDSDK_CORE_PROJECT=[YOUR_PROJECT_NAME]

CLOUDSDK_COMPUTE_ZONE=[YOUR_ZONE_NAME]

查看配置属性

如需查看配置中的属性,请运行以下命令:gcloud config configurations describe

gcloud config configurations describe [NAME]

或者,要查看活跃配置中的属性,请运行以下命令:

gcloud config list

gcloud CLI 会输出配置属性:

is_active: false
name: default
properties:
  compute:
    region: us-east1
    zone: us-east1-b
  core:
    account: user@google.com
    project: example-project

删除配置

要删除配置,请运行以下命令:gcloud config configurations delete

gcloud config configurations delete [NAME]

您无法删除正在使用的配置。如果需要在删除之前切换到其他配置,请使用 gcloud config configurations activate

后续步骤