Как использовать переменные среды в Compute Engine на Google Cloud Platform? - PullRequest
0 голосов
/ 13 октября 2018

У меня есть приложение, работающее в Compute Engine на Google Cloud Platform, которое считывает системные переменные окружения.

Интересно, как поместить их в мой экземпляр, чтобы приложение могло их прочитать ввремя выполнения.

Вот как я создаю экземпляр:

gcloud compute instances create ${PROJECT_ID} \
    --image-family debian-9 \
    --image-project debian-cloud \
    --machine-type g1-small \
    --scopes "userinfo-email,cloud-platform" \
    --metadata-from-file startup-script=${SCRIPT} \
    --metadata release-url=${BUCKET_URL} \
    --zone ${ZONE} \
    --tags http-server

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

Есть ли какая-либо консоль для этого, флаг или команда для автоматизации этого?

1 Ответ

0 голосов
/ 09 марта 2019

Вы можете сделать это путем подключения через SSH после создания экземпляра.

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

$ export CLOUDSDK_COMPUTE_ZONE="us-central1-a"
$ export CLOUDSDK_COMPUTE_REGION="us-central1"

Чтобы сделать эти переменные среды постоянными :

Альтернатива-1: Использование файла bashrc

включите эти команды экспорта в ваш ~/.bashrc файл

, вы можете использовать nano или vim для помещения переменных

sudo nano ~/.bashrc

затем перезапустить ваш терминал и cek

$ env

Альтернатива-2: Использование сценария запуска

Вы также можете использовать команду экспорта в скрипт запуска , позволяющий вашим метаданным стать переменными среды.

После создания вашего экземпляра вы можете поместить его Direc или через такой файл:

gcloud compute instances create vm-1 \
    --metadata-from-file startup-script=$HOME/startup.sh \
    --zone=us-west1-a

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

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

Какой бы метод вы ни выбрали, убедитесь, что настройки $ env работают правильно.Лучше кликните снова, нажав , перезапустив свой экземпляр в оболочке или используя кнопку остановки и запуска в вашем консоль .

...