Как изменить проект в gcp с помощью команд cli

Как я могу изменить текущий запущенный проект на другой проект в учетной записи GCP (Google Cloud Platform), используя команды gcloud init отличные от gcloud init вручную.

$gcloud projects list будут перечислены проекты, запущенные на моем аккаунте. Я хочу изменить текущий проект на любой другой проект из списка с помощью команды cli.

Ответ 1

gcloud config set project my-project

Вы также можете установить переменную среды $CLOUDSDK_CORE_PROJECT.

Ответ 2

Убедитесь, что вы прошли аутентификацию с правильным аккаунтом:

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'

Ответ 3

На самом деле вы должны использовать идентификатор проекта, а не имя, как подразумевают другие ответы.

Пример:

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

Если вы используете имя, оно молча примет его, но при попытке развертывания чего-либо в проекте у вас всегда будут проблемы с подключением или разрешением.

Ответ 4

Кроме того, если вы используете более одного проекта и не хотите каждый раз устанавливать глобальный проект, вы можете использовать флаг выбора проекта.

Например: для подключения виртуальной машины с именем my_vm к проекту с именем my_project в Google Cloud Platform:

gcloud --project my_project compute ssh my_vm

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

Ответ 5

Выбранный ответ не поможет, если вы не знаете названия проектов, которые вы уже добавили gcloud. Мой поток - это список активных проектов, затем переключитесь на тот, который я хочу.

gcloud config configurations list

gcloud config configurations activate [NAME]
где [NAME] указан из предыдущей команды.

Ответ 6

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

пример

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
}

Ответ 7

Для чего стоит, если у вас есть несколько проектов, которые я делаю, используйте:

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, которые могут у вас быть.

Учитывая, что я управляю несколькими организациями и проектами, этот подход позволяет мне просто переключаться между ними.

Ответ 8

Я добавляю псевдонимы в .bash_alaises, чтобы переключиться на другой проект.

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

Вот скрипт для генерации псевдонимов :) для всех перечисленных проектов. Пожалуйста, обновите switch_proj, указав уникальные псевдонимы проекта, которые вы можете запомнить.

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

Ответ 9

У кого-нибудь есть шаблон всех основных команд для запуска в оболочке gcloud sdk, и еще нужно знать все команды? Потому что мне больше нравится веб-консоль с графическим интерфейсом

Ответ 10

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

Также я рекомендую проверить активную конфигурацию, прежде чем вносить какие-либо изменения в конфигурацию gcloud. Вы можете сделать это, запустив: gcloud config list