1 Вопрос: как развернуть частное репозиторий github в кластере GCE

вопрос создан в Thu, May 2, 2019 12:00 AM

Я пытаюсь развернуть свое приложение в кластере Google Compute Engine. Я следовал примеру , который настраивает кластера и создает стартовый скрипт для каждого экземпляра vm.

В примере сценария запуска не используется github.

Я хотел бы, чтобы стартовый скрипт извлек проект из моего частного репозитория github (если его там еще нет).

Я создал ключ ssh для развертывания, который я добавил в «Развертывание ключей» моего git-репо.

У меня есть следующие проблемы:

  • как мне распространить этот ключ развертывания на каждую машину в кластере?
  • какие команды мне добавить сценарий запуска, чтобы клон git работал без каких-либо запросов?
0
1 ответ                              1                         

Прочитайте этот добавление-удаление-ssh-keys для настройки открытых SSH-ключей для всего проекта из экземпляра Linux.

Во-первых, чтобы разрешить общедоступные ключи SSH для всего проекта, установите значение метаданных в FALSE

gcloud compute instances add-metadata [INSTANCE_NAME] --metadata block-project-ssh-keys=FALSE

В командной строке используйте команду add-metadata для вычисления экземпляров, чтобы установить значение ssh-ключа только для экземпляра. Включите флаг --metadata-from-file и укажите путь к созданному вами списку файлов открытого ключа.

gcloud compute instances add-metadata [INSTANCE_NAME] --metadata-from-file ssh-keys=[LIST_PATH]

По второму вопросу: Неинтерактивный git-клон (ssh-запрос по отпечатку пальца) р>     

1
2019-05-03 03: 15: 18Z
  1. Спасибо. Я вижу предупреждение: «Обнаружены закрытые ключи. Обратите внимание, что следует добавлять только открытые ключи». Я создал «ключ развертывания» для моего репозитория github. Мне нужно добавить этот закрытый ключ для каждой машины в кластере.
    2019-05-04 08: 04: 52Z
  2. О, я неправильно понял ваш вопрос. Если вы хотите развернуть приложение на каждой машине в вашем кластере, вам лучше иметь что-то вроде Jenkins для развертывания вашего кода на каждой машине с помощью scp. Таким образом, вам нужен только один компьютер с вашим закрытым ключом. Другим способом является то, что вы хотите распространять свой закрытый ключ на каждую машину, чтобы они могли от github (не хорошо). Но вы можете попытаться использовать разумный, чтобы сделать это.
    2019-05-05 13: 42: 08Z
  3. Спасибо. В данный момент я развертываю свой (зашифрованный) закрытый ключ на каждой машине. Это работает, но не похоже на хорошее решение. Я предположил, может быть, неправильно, что это была решенная проблема. Возможно, нет. Но, конечно, развертывание кластера Google Compute Engine непосредственно из частного репозитория GitHub не может быть такой странной вещью.
    2019-05-06 17: 20: 34Z
источник размещен Вот