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

225

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

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

Эбин Дэвис
источник

Ответы:

448
gcloud config set project my-project

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

Захари Ньюман
источник
59
Это помогает получить имена проектов с:gcloud projects list
sww314
16
И чтобы проверить, какой проект в настоящее время активен, используйтеgcloud config get-value project
Крис Хэлкроу
4
Самое смешное, что я переключаю свои проекты только один или два раза в месяц. Поэтому каждый раз, когда мне приходится гуглить, я снова получаю ответ и пытаюсь дать ему еще один ответ :-D
Л.Буц
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

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

devius
источник
10

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

gcloud config configurations list

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

Скотт
источник
6

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

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

gcloud --project my_project compute ssh my_vm

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

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

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

Hoos
источник
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

PanwarS87
источник
1

Возможно, я опоздал с ответом, но эта команда заставила меня многое узнать о gcloud SDK

gcloud alpha interactive

Легче обнаружить, что вам нужно gcloud config set project my-project.

Что лучше всего, так это сложность табуляции, поэтому вы можете просмотреть список проектов, дважды нажав клавишу Tab.

confiq
источник
1

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


Вариант 1. Cloud CLI - установить свойство проекта в Cloud SDK для CLI

Используйте эту опцию, если вы хотите выполнить все команды CLI Cloud для конкретного проекта.

gcloud config set project <Project-ID>

При этом выбранный проект Cloud CLIизменится, и текущий выбранный проект будет выделен желтым цветом.

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


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

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

--project <Project-ID>

Вариант 3. Облачный 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: будет новым именем вашего проекта.

BackToReal
источник
3
Вопрос в том, как изменить текущий рабочий проект в другой, а не в том, как изменить название проекта. Ценная информация, но не связанная с вопросом.
P.hunter
0

Проверьте ваш проект, запустив конфигурационный список gcloud. Затем gcloud config установите «имя проекта».

Амир ЭльГаммал
источник
0

Вы можете попробовать: gcloud config set project [project_id]

Фабиан Гарсия
источник