Я пытаюсь автоматизировать создание/запуск экземпляров. Я хотел бы, чтобы Google Compute Engine запускал экземпляр и выполнял определенную задачу для меня через пару дней недели. Возможно ли это с GCE?Как автоматизировать создание экземпляров?
ответ
Вы можете запускать экземпляры с помощью API Compute Engine.
Вот пример приложение, которое запускает хроны Engine работы приложения, которая удаляет экземпляры: https://github.com/GoogleCloudPlatform/compute-appengine-timeout-python
Вы можете использовать в качестве отправной точки, и модифицирует:
- график хрон для запуска на ваше расписание вместо почасового времени
- вместо
compute.instances().delete()
, звонокcompute.instances().insert(INSTANCE)
, гдеINSTANCE
- это документ JSON, который описывает экземпляр, который вы хотите создать.
(см documentation on starting instances подробную информацию о формате JSON DOC, или заполнить форму для создания экземпляра в Cloud Console, а затем нажмите кнопку «Эквивалент REST» ссылка (перед созданием экземпляра).
API documentation for instances.insert()
.
в INSTANCE документе, вы можете добавить запись метаданных для Startup Scripts. Это скрипт оболочки, который работает, как только экземпляр загрузится. вы можете добавить команды для выполнения вашей задачи там.
После завершения задачи экземпляр может удалить себя. (См. Этот ответ для получения дополнительной информации: How to automatically exit/stop the running instance)
Это эквивалентный ОТДЫХ, который я получил: http://pastie.org/private/2sadbbcnjddyhar1rnbm4g. Я также изменил main.py в приложении, которое вы разместили: http://pastie.org/private/1ukuptdfnycdjsj0g2lb0a. Я застрял в содержании compute.instances(). Insert(). Что именно я там вложил? – user2647261