如何使用cli命令而不是手动使用,将当前正在运行的项目更改为GCP(Google Cloud Platform)帐户中的另一个项目。gcloud init
$gcloud projects list
将列出在我的帐户上运行的项目。我想使用cli命令将当前项目从列表更改为任何其他项目。
如何使用cli命令而不是手动使用,将当前正在运行的项目更改为GCP(Google Cloud Platform)帐户中的另一个项目。gcloud init
$gcloud projects list
将列出在我的帐户上运行的项目。我想使用cli命令将当前项目从列表更改为任何其他项目。
Answers:
确保使用正确的帐户进行身份验证:
gcloud auth list
* account 1
account 2
如果没有,请更改为该项目的帐户:
gcloud config set account `ACCOUNT`
根据帐户,项目列表将有所不同:
gcloud projects list
- project 1
- project 2...
切换到预期的项目:
gcloud config set project `PROJECT ID`
实际上,您应该使用项目ID,而不是其他答案所暗示的名称。
例:
gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
something-staging-2587 something-staging 804012817122
something-production-24 something-production 392181605736
然后:
gcloud config set project something-staging-2587
当仅将--project
标志与命令之一一起使用时,也是如此:
gcloud --project something-staging-2587 compute ssh my_vm
如果使用该名称,它将默默地接受它,但是在尝试将某些内容部署到项目时,您总是会遇到连接或权限问题。
如果您有多个项目(我愿意这样做),那么使用:
gcloud init
这将列出您的所有项目,并提供更改当前项目设置,添加新项目配置或切换的选项:
Pick configuration to use:
[1] Re-initialize this configuration [esqimo-preprod] with new settings
[2] Create a new configuration
[3] Switch to and re-initialize existing configuration: [default]
[4] Switch to and re-initialize existing configuration: [project 1]
[5] Switch to and re-initialize existing configuration: [project 2]
Please enter your numeric choice:
它将始终要求您登录并显示您可能拥有的其他Google帐户的选项。
考虑到我管理多个组织和项目,这种方法使我可以在它们之间进行简单切换。
我确实更喜欢别名,对于某些可能需要多个命令的事情,根据您的项目需求,我更喜欢函数...
例
function switchGCPProject() {
gcloud config set project [Project Name]
// if you are using GKE use the following
gcloud config set container/cluster [Cluster Name]
// if you are using GCE use the following
gcloud config set compute/zone [Zone]
gcloud config set compute/region [region]
// if you are using GKE use the following
gcloud container clusters get-credentials [cluster name] --zone [Zone] --project [project name]
export GOOGLE_APPLICATION_CREDENTIALS=path-to-credentials.json
}
我将发布此答案,以深入了解您可以在GCP上更改项目的多种方式。我还将说明何时使用以下每个选项。
选项1:Cloud CLI-在CLI上的Cloud SDK上设置项目属性
如果要在特定项目上运行所有Cloud CLI命令,请使用此选项。
gcloud config set project <Project-ID>
这样,选中的项目Cloud CLI
将更改,并且当前选中的项目以黄色突出显示。
选项2:Cloud CLI-使用大多数命令设置项目ID标志
如果要在多个项目上执行命令,请使用此命令。例如:在一个项目中创建集群,并使用相同的配置在另一个项目中创建。对每个命令使用以下标志。
--project <Project-ID>
选项3:Cloud CLI-在CLI中初始化配置
如果您需要为不同的项目/帐户进行单独的配置,则可以使用此选项。这样,您可以使用activate
命令轻松地在配置之间切换。例如:gcloud config configurations activate <congif-name>
。
gcloud init
选项4:使用您的首选项目打开新的Cloud Shell
如果您不喜欢使用CLI命令,则首选此方法。按下PLUS +
按钮进入新标签页。
接下来,选择您的首选项目。
我将别名添加到.bash_alaises,以切换到其他项目。
alias switch_proj1="gcloud config set project ************"
这是一个为所有列出的项目生成别名:)的脚本。请将switch_proj更新为您可以记住的唯一项目别名。
gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'
通过运行gcloud config列表检查项目,然后gcloud config设置“项目名称”
您可以尝试:gcloud config设置项目[project_id]
gcloud projects list