Можно ли автоматизировать Google Cloud SDK gcloud init - интерактивная команда
Документация по Google Cloud SDK https://cloud.google.com/sdk/docs/ дает указание запустить gcloud init
после его установки.
Есть ли способ автоматизировать этот шаг, учитывая, что gcloud init
такое интерактивная команда?
1 ответ
Решение
Не нужно бежать gcloud init
, Основная цель - убедиться, что учетные данные настроены и, возможно, установлено свойство проекта. Если у вас есть учетные данные учетной записи службы, gcloud может быть настроен и готов к работе через
gcloud auth activate-service-account --key-file=credential_key.json
gcloud config set project my-project
Для полноты gcloud init
по сути, выполняет следующие шаги:
- Выберите конфигурацию (один из следующих)
gcloud config configrations create my_configuration
gcloud config configrations activate my_configuration
- Настройка учетных данных (один из следующих)
- (Интерактивный)
gcloud auth login
gcloud config set account my_existsting_credentials
gcloud auth activate-service-account
- (Интерактивный)
- Задать проект
gcloud config set project my_project
- Список доступных проектов для установленных учетных данных можно увидеть через
gcloud projects list
- Список доступных проектов для установленных учетных данных можно увидеть через
- (Необязательно) Установите зону GCE по умолчанию (должен быть включен Compute API)
gcloud config set compute/zone my_default_gce_zone
- Список зон можно получить через
gcloud compute zones list
- Список зон можно получить через
- (Необязательно) Установите регион GCE по умолчанию (должен быть включен Compute API)
gcloud config set compute/region my_default_gce_region
- Список регионов можно получить через список вычислений gcloud.
- (Необязательно) создайте файл конфигурации по умолчанию для gsutil
gsutil config -n -o ~/.boto