Как автоматизировать создание 1500 экземпляров виртуальной машины Google Cloud?

#python #google-cloud-platform #automation

#python #google-cloud-platform #автоматизация

Вопрос:

Мне нужно создать 1500 экземпляров виртуальной машины GCP с одинаковыми конфигурациями. Как я могу автоматизировать этот процесс? С помощью Python или любым простым способом?

Комментарии:

1. Облачные проекты Google имеют quotas . Для вычислительного движка это разбито на типы ресурсов, такие как VCPU. Типичная квота ограничит вас 24 VCPU. Существуют и другие ограничения, такие как квота для IP-адресов. Для запуска 1500 виртуальных машин потребуется подтверждение кредита от Google Cloud Billing, и я не уверен, что вы сможете в одном проекте Google Cloud. Технически вы можете использовать множество продуктов для автоматизации запуска ресурсов. Terraform, Google Deployment Manager или ваш любимый язык с использованием клиентских библиотек или REST API.

Ответ №1:

Да, вы можете использовать Python для этого. Более конкретно, вы бы использовали Deployment Manager от GCP и указали желаемую конфигурацию в файле, написанном на Python.

Конфигурация может быть указана в .yaml , .jinja или .py форматированных файлах — Google рекомендует использовать Python для сложных развертываний, подобных этим. Вы можете найти пример развертывания нескольких экземпляров Compute Engine здесь. Отредактируйте файл конфигурации в соответствии с вашим проектом и вашими потребностями, и все будет готово.

Существуют и другие способы достижения этой цели, такие как создание шаблона экземпляра и написание gcloud команды CLI для создания экземпляров из него, но это предполагает, что конфигурация действительно одинакова для всех экземпляров, и это также может стать довольно громоздким в обслуживании, особенно когда Google уже предоставляет вам Deployment Manager и его функции.

Комментарии:

1. Спасибо за ваш ответ. Я думаю, что проще использовать группу экземпляров для создания нескольких экземпляров.

2. Группы экземпляров @saurabhShah предназначены больше для балансировки и поддержания рабочих нагрузок, которые могут быть автоматически масштабированы, автоматически излечены и автоматически обновлены в приложении, если это ваши потребности, то обязательно сделайте это. Также не путайте группы экземпляров с шаблонами экземпляров. Шаблон экземпляра — это просто шаблон, на котором будет основана группа экземпляров.

3. @saurabhShah В противном случае, если вам нужно автоматизировать развертывание (что является точным определением варианта использования диспетчера развертывания), то это более уместно. Если вы затрудняетесь в понимании этого, Google предоставляет быстрый старт , и вы обычно можете найти много информации в документах. Вот еще один вариант, который решает эту проблему при использовании Python.