管理 gcloud CLI 配置

配置是一组指定的 Google Cloud CLI 属性。这些属性是键值对,分成多个部分,用于管理 gcloud CLI 的行为。

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

配置存储在用户配置目录(通常为 MacOS 和 Linux 上的 ~/.config/gcloud 或 Windows 上的 %APPDATA%\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

后续步骤