Як змінити проект у GCP за допомогою команд CLI


223

Як я можу змінити поточний запущений проект на інший проект в обліковому записі GCP ( Google Cloud Platform ), використовуючи команди cli, відмінні від використання gcloud initвручну.

$gcloud projects listперерахує проекти, які працюють на моєму рахунку. Я хочу змінити поточний проект на будь-який інший проект зі списку за допомогою команди cli.

Відповіді:


447
gcloud config set project my-project

Ви також можете встановити змінну середовища $CLOUDSDK_CORE_PROJECT.


58
Це допомагає отримати назви проектів за допомогою:gcloud projects list
sww314

16
А щоб перевірити, який проект зараз активний, скористайтесяgcloud config get-value project
Кріс

4
Найсмішніше, що я перемикаю свої проекти лише один-два рази на місяць. Тому кожен раз, коли мені доведеться гугл і закінчувати цю відповідь ще раз, і намагатися дати їй ще один результат :-D
L.Butz

81

Переконайтеся, що ви маєте автентифікацію з правильним обліковим записом:

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`

24

Ви насправді повинні використовувати ідентифікатор проекту, а не ім'я, як випливають з інших відповідей.

Приклад:

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

Якщо ви використовуєте ім'я, воно мовчки прийме його, але тоді ви завжди будете мати проблеми з підключенням або дозволом, намагаючись щось розгорнути в проект.


10

Вибрана відповідь не допомагає, якщо ви не знаєте назву проектів, які ви вже додали gcloud. Мій потік - перерахувати активні проекти, а потім перейти на той, який я хочу.

gcloud config configurations list

gcloud config configurations activate [NAME]
де [NAME] вказаний з попередньої команди.


6

Крім того, якщо ви використовуєте більше одного проекту і не хочете кожен раз встановлювати глобальний проект, ви можете використовувати прапор проекту .

Наприклад: підключити віртуальну машину, названу my_vmв рамках проекту, названого my_projectв хмарній платформі Google:

gcloud --project my_project compute ssh my_vm

Таким чином, ви можете працювати з декількома проектами та легко змінюватись між ними, просто поставивши прапор проекту . Ви можете знайти набагато більше інформації про інші GCP прапори тут .


4

Для чого варто, якщо у вас є більш ніж кілька проектів, які я роблю:

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, які у вас можуть бути.

Зважаючи на те, що я керую декількома організаціями та проектами, такий підхід дозволяє мені просто перемикатися між ними.


3

Я віддаю перевагу псевдоніми, а для речей, які можуть потребувати декількох команд, виходячи з потреб вашого проекту, я віддаю перевагу функціям ...

Приклад

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
}

1

Перевірка доступних проектів, запустивши: gcloud projects list. Це дасть вам список проектів, до яких ви можете отримати доступ. Для перемикання між проектами: gcloud config set project <project-id>.

Також я рекомендую перевірити активну конфігурацію перед тим, як змінити конфігурацію gcloud. Це можна зробити, запустивши:gcloud config list


1

Можливо, я запізнився відповісти, але ця команда змусила мене багато дізнатися про gcloud SDK

gcloud alpha interactive

Простіше зрозуміти самостійно, що тобі знадобиться gcloud config set project my-project.

Найкраще це ускладнення вкладки, щоб ви побачили список проектів, натиснувши вкладку двічі.


1

Я публікую цю відповідь, щоб дати зрозуміти кілька способів змінити проект на GCP. Я також поясню, коли використовувати кожен із наведених нижче варіантів.


Варіант 1: Cloud CLI - встановіть властивість проекту на Cloud SDK в CLI

Використовуйте цю опцію, якщо ви хочете запустити всі команди Cloud CLI для конкретного проекту.

gcloud config set project <Project-ID>

При цьому вибраний проект Cloud CLIбуде змінено, а поточно вибраний проект буде виділений жовтим кольором.

введіть тут опис зображення


Варіант 2: Cloud CLI - встановіть прапор ідентифікатора проекту з більшістю команд

Використовуйте цю команду, якщо ви хочете виконувати команди в декількох проектах. Напр .: створюйте кластери в одному проекті та використовуйте ті самі конфігурації для створення в іншому проекті. Використовуйте наступний прапор для кожної команди.

--project <Project-ID>

Варіант 3: Cloud CLI - ініціалізуйте конфігурації в CLI

Цей параметр можна використовувати, якщо вам потрібні окремі конфігурації для різних проектів / облікових записів. За допомогою цього ви можете легко перемикатися між конфігураціями за допомогою activateкоманди. Наприклад: gcloud config configurations activate <congif-name>.

gcloud init

Варіант 4: Відкрийте нову хмарну оболонку з улюбленим проектом

Це бажано, якщо вам не подобається працювати з командами CLI. Натисніть PLUS +кнопку для нової вкладки. введіть тут опис зображення

Далі виберіть бажаний проект.

введіть тут опис зображення


0

Я додаю псевдоніми до .bash_alaises, щоб перейти до іншого проекту.

alias switch_proj1="gcloud config set project ************"

Ось сценарій для створення псевдонімів :) для всіх перерахованих проектів. Оновіть switch_proj до унікальних псевдонімів, які ви можете запам'ятати.

gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'

0

Щоб оновити існуючий проект на інший проект, ви можете скористатися цим командним рядком:

оновлення проектів gcloud PROJECT_ID --name = NAME

NAME: буде новою назвою вашого проекту.


3
Питання полягає в тому, як змінити поточний робочий проект на інший, а не в тому, як змінити назву проекту. Цінна інформація, але не пов'язана з питанням.
P.hunter

0

Перевірте свій проект, запустивши список конфігурацій gcloud. Потім встановіть gcloud config config "назва проекту"


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.