Ответ 1
gcloud config set project my-project
Вы также можете установить переменную среды $CLOUDSDK_CORE_PROJECT
.
Как я могу изменить текущий запущенный проект на другой проект в учетной записи GCP (Google Cloud Platform), используя команды gcloud init
отличные от gcloud init
вручную.
$gcloud projects list
будут перечислены проекты, запущенные на моем аккаунте. Я хочу изменить текущий проект на любой другой проект из списка с помощью команды cli.
gcloud config set project my-project
Вы также можете установить переменную среды $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'
На самом деле вы должны использовать идентификатор проекта, а не имя, как подразумевают другие ответы.
Пример:
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
Если вы используете имя, оно молча примет его, но при попытке развертывания чего-либо в проекте у вас всегда будут проблемы с подключением или разрешением.
Кроме того, если вы используете более одного проекта и не хотите каждый раз устанавливать глобальный проект, вы можете использовать флаг выбора проекта.
Например: для подключения виртуальной машины с именем my_vm
к проекту с именем my_project
в Google Cloud Platform:
gcloud --project my_project compute ssh my_vm
Таким образом, вы можете работать с несколькими проектами и легко переключаться между ними, просто установив флаг проекта. Вы можете найти гораздо больше информации о других флагах GCP из здесь.
Выбранный ответ не поможет, если вы не знаете названия проектов, которые вы уже добавили gcloud. Мой поток - это список активных проектов, затем переключитесь на тот, который я хочу.
gcloud config configurations list
gcloud config configurations activate [NAME]
где [NAME] указан из предыдущей команды.
Я предпочитаю псевдонимы, и для вещей, которые могут потребоваться несколько команд, в зависимости от ваших потребностей проекта, я предпочитаю функции...
пример
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 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, которые могут у вас быть.
Учитывая, что я управляю несколькими организациями и проектами, этот подход позволяет мне просто переключаться между ними.
Я добавляю псевдонимы в .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 sdk, и еще нужно знать все команды? Потому что мне больше нравится веб-консоль с графическим интерфейсом
Проверьте доступные проекты, запустив: gcloud projects list
. Это даст вам список проектов, к которым вы можете получить доступ.
Для переключения между проектами: gcloud config set project <project-id>
.
Также я рекомендую проверить активную конфигурацию, прежде чем вносить какие-либо изменения в конфигурацию gcloud. Вы можете сделать это, запустив: gcloud config list