我有两个不同的GCP项目,由两个不同的组织管理,这两个组织都与我的电子邮件有关。这意味着当我登录到GCP控制台时,我会看到它们在我的项目下坠下。
我将我的gcloud安装配置为成功地连接到第一个org/project:
myuser ~ % gcloud config list
[compute]
region = us-east4
zone = us-east1-b
[core]
account = myemail@example.com
disable_usage_reporting = True
project = project-1
Your active configuration is: [default]
Updates are available for some Cloud SDK components. To install them,
please run:
$ gcloud components update
To take a quick anonymous survey, run:
$ gcloud survey我现在正试图在我的gcloud配置中添加一个配置/项目,以便在需要时在两个项目之间来回切换:
myuser ~ % gcloud config configurations create project-2
Created [project-2].
Activated [project-2].但是现在,当我列出可用的配置时,我只看到project-2
myuser ~ % gcloud config list
[core]
disable_usage_reporting = True
Your active configuration is: [project-2],我现在可以运行什么命令来查看这两个项目配置?以及如何将project-2 与电子邮件(**myemail@example.com**)和凭据连接起来?
发布于 2021-09-01 20:02:43
我建议在配置中使用project-2以外的名称,因为这可能会使人感到困惑。
注意到我原来的答案是不正确的。在不同的配置之间切换,在活动帐户之间切换,但在不同的配置之间保留身份验证帐户的列表。
配置封装了一个gcloud“环境”。因此,在创建配置之后,您需要例如gcloud config set account将任何现有(经过身份验证的)帐户设置为active,或者gcloud auth login将新帐户添加到列表中。
注意:一旦在任何配置下运行了
gcloud auth login,所有配置都会保留帐户列表,但每个配置都保留活动帐户。
设置信任的一个挑战是,gcloud命令变得隐式,例如,如果您不小心篡改gcloud config集,那么使用信任的gcloud compute instances delete my-instance可以使用管理帐户从生产项目中删除。
除了吐露(和我的偏好)之外,还有一种选择就是总是显式地指定配置。是的,这更乏味,而且是的,你仍然可以自满地这样做,但我发现这样做更方便:
例如,总是等等。
gcloud do-something \
--project=${PROJECT} \
--account=${ACCOUNT}我强烈鼓励您在编写gcloud命令时设置标志,而不是使用配置。在这种情况下,额外的打字是一个预先的成本,具有较长的精确性。
不使用的另一个原因是信任。配置是全局适用的。如果在多个shell中使用gcloud,则在一个shell中更改配置(因为它是全局的)将改变shell之间的设置(在同一台机器上)。
https://stackoverflow.com/questions/69019683
复制相似问题