簡體   English   中英

如何使用 CLI 命令更改 GCP 中的項目

[英]How to change the project in GCP using CLI commands

除了手動使用gcloud init之外,如何使用cli 命令將當前正在運行的項目更改為 GCP( Google Cloud Platform )帳戶中的另一個項目?

gcloud projects list將列出在我的帳戶上運行的項目。 我想使用 cli 命令將當前項目更改為列表中的任何其他項目。

gcloud config set project my-project-id

您還可以設置環境變量$CLOUDSDK_CORE_PROJECT

確保您使用正確的帳戶進行身份驗證:

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 的項目名稱,則所選答案無濟於事。 我的流程是列出活動項目,然后切換到我想要的項目。

gcloud config configurations list

gcloud config configurations activate [NAME]
其中 [NAME] 從先前的命令中列出。

另外,如果您使用多個項目並且不想每次都設置全局項目,則可以使用選擇項目標志。

例如:連接一個虛擬機,在谷歌雲平台中名為my_project的項目下命名為my_vm

gcloud --project my_project 計算 ssh my_vm

通過這種方式,您可以使用多個項目並通過放置項目標志輕松地在它們之間進行更改。 您可以從此處找到有關其他 GCP 標志的更多信息。

如果您有多個項目(我這樣做),那么它的價值是什么,請使用:

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:

它總是會要求您登錄並顯示您可能擁有的不同谷歌帳戶的選項。

鑒於我管理多個組織和項目,這種方法讓我可以輕松地在它們之間切換。

可能是我回答晚了,但是這個命令讓我學到了很多關於 gcloud SDK

gcloud alpha interactive

自己更容易發現您需要gcloud config set project my-project

但是,我喜歡 gcloud 的是選項卡復雜性,因此如果您使用配置配置 gcloud 配置(我知道這聽起來很奇怪,但運行此命令gcloud config configurations list ),您可以輕松地在您通常工作的項目之間切換:

總匯

我使用的別名是: alias gcca="gcloud config configurations activate"並且它與 zsh gcloud 插件一起工作正常。

編輯:要配置我通常這樣做的配置之一

gcloud config configurations create [CUSTOM_NAME]
gcloud auth login # you can also manually set
gcloud config set project [gcp-project-id]
gcloud config set compute/zone europe-west3-c
gcloud config set compute/region europe-west3

您也可以使用 ENV 變量,但我喜歡以這種方式配置...

我確實更喜歡別名,對於可能需要多個命令的東西,根據您的項目需要,我更喜歡函數......

示例

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
}

運行以下gcloud projects list檢查可用項目: gcloud projects list 這將為您提供您可以訪問的項目列表。 要在項目之間切換: gcloud config set project <project-id>

此外,我建議在對 gcloud 配置進行任何更改之前檢查活動配置。 您可以通過運行: gcloud config list

我發布此答案是為了深入了解您可以通過多種方式更改 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 +按鈕打開新標簽。 在此處輸入圖片說明

接下來,選擇您喜歡的項目。

在此處輸入圖片說明

請執行下列操作:

1 - gcloud auth list
2 - gcloud projects list
3 - gcloud config set project *projectid* (用實際項目ID替換項目ID)

我將別名添加到 .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 項目列表

獲取項目列表。

gcloud 配置集項目 [項目 ID]

用於設置默認項目。

您還可以將您的項目 ID 導出到變量中,以便在以后的命令中使用,這有助於避免出現以下錯誤。

MY_PROJECT_ID=[項目 ID]

回聲 $MY_PROJECT_ID

要將現有項目更新到另一個項目,您可以使用以下命令行:

gcloud 項目更新 PROJECT_ID --name=NAME

NAME:將是您項目的新名稱。

通過運行 gcloud config list 檢查您的項目然后 gcloud config set "project name"

你可以試試:gcloud config set project [project_id]

在 ~/.bashrc 中添加以下腳本,並請用您需要的任何名稱替換項目名稱(項目名稱)

function s() {
        array=($(gcloud projects list | awk /projectname/'{print $1}'))
        for i in "${!array[@]}";do printf "%s=%s\n" "$i" "${array[$i]}";done
        echo -e "\nenter the number to switch project:\c"
        read project
        [ ${array[${project}]} ] || { echo "project not exists"; exit 2; }
        printf "\n**** Running: gcloud config set project ${array[${project}]} *****\n\n"
        eval "gcloud config set project ${array[${project}]}"
}

只需使用gcloud projects list即可獲取您擁有的項目。 獲取要使用的gcloud set project --project=PROJECT_ID之后使用gcloud set project --project=PROJECT_ID設置項目。

您可以使用 gcloud 命令更改項目:

gcloud config set project <your_project_name>

gcloud 配置集項目 <PROJECT_ID>

要使用 CLI 命令更改 GCP 中的項目,您可以使用 gcloud 命令行工具。 以下是如何更改為不同項目的示例:

gcloud config set project YOUR_PROJECT_ID

您還可以使用以下命令切換到不同的項目:

gcloud config set project YOUR_PROJECT_ID

您還可以使用以下命令檢查當前項目上下文:

gcloud config get-value project

您還可以使用 gcloud init 命令在項目之間切換。 此命令允許您 select 現有項目或創建新項目,以及為項目設置默認計算區域和區域。

請注意,您需要擁有正確的權限才能在項目之間切換。

gcloud init

您還可以使用 gcloud projects list 命令查看您有權訪問的所有項目的列表。

gcloud projects list

這些是使用 CLI 命令在 GCP 中更改項目的一些方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM