Как автоматизировать создание экземпляров?

Я пытаюсь автоматизировать создание/запуск экземпляров. Я хочу, чтобы Google Compute Engine запускал инстанс и выполнял для меня определенную задачу пару дней в неделю. Возможно ли это как-то с GCE?


person Benjamin    schedule 02.08.2013    source источник


Ответы (1)


Вы можете запускать экземпляры с помощью API Compute Engine.

Вот пример приложения, которое запускает задание cron App Engine, которое удаляет экземпляры: https://github.com/GoogleCloudPlatform/compute-appengine-timeout-python

Вы можете использовать это как отправную точку и изменить:

  • расписание cron для запуска по вашему расписанию, а не ежечасно
  • вместо compute.instances().delete() вызовите compute.instances().insert(INSTANCE), где INSTANCE — документ JSON, описывающий экземпляр, который вы хотите создать.

(См. документацию по запуску экземпляров для получения подробной информации о формате документа JSON или заполните форму для создания экземпляра в Cloud Console, а затем нажмите ссылку "Эквивалентный REST" (до создания экземпляра).

документация по API для instances.insert().

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

После завершения задачи экземпляр может удалить себя. (Подробности см. в этом ответе: Как автоматически выйти/ остановить работающий экземпляр)

person Brian Dorsey    schedule 02.08.2013
comment
Это эквивалент REST, который я получил: pastie.org/private/2sadbbcnjddyhar1rnbm4g. Я также изменил main.py в опубликованном вами приложении: pastie.org/private/1ukuptdfnycdjsj0g2lb0a. Я застрял в содержании calculate.instances().insert(). Что именно я туда вставляю? - person Benjamin; 09.08.2013