Поиск по сайту:

Как создавать и использовать шаблоны экземпляров на облачной платформе Google


Шаблоны экземпляров позволяют предварительно определить конфигурацию компьютера и образ для автоматического запуска клонов ваших серверов. Они обычно используются с автоматическим масштабированием для облегчения предоставления услуг высокой доступности.

Что такое шаблоны экземпляров?

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

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

Шаблоны экземпляров GCP поддерживают оба этих метода. Вы можете создать шаблон экземпляра для развертывания образа контейнера в группе автомасштабируемых или управляемых экземпляров или просто сделать копию своего сервера для развертывания другого. В обоих случаях шаблоны экземпляров также позволяют вам определить, какие типы серверов вы хотите развернуть, будь то конкретный тип экземпляра или определенный объем памяти и виртуальных ЦП.

Создание шаблонов экземпляров

У вас есть два варианта создания шаблонов экземпляров — либо из образа контейнера, либо из существующего экземпляра.

Если вы хотите развернуть образ контейнера, вы можете создать этот шаблон на вкладке Instance Templates в консоли Compute Engine. Выберите параметры машины, такие как количество виртуальных ЦП и объем памяти.

Затем в настройках контейнера установите флажок «Да» для развертывания образа контейнера и введите URL-адрес изображения. Для этого вы можете использовать Реестр контейнеров Google или общедоступный реестр, например Docker Hub.

Кроме того, у вас есть несколько опций для установки команды ввода, любых параметров или переменных среды, а также для запуска контейнера как привилегированного, что позволяет root-доступ к хранилищу и сетевым устройствам, как если бы он работал непосредственно на хосте. Вы также можете настроить монтирование томов и добавить в контейнер дополнительные диски.

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

gcloud compute instance-templates create [TEMPLATE NAME]  
    --source-instance [SOURCE_INSTANCE] 
    --configure-disk= device-name=[DISK NAME], instantiate-from=source-image, 
      auto-delete=true

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

Это определенно не лучший способ обработки обновлений, и у вас есть два решения этой проблемы: добавить сценарий установки для обработки развертывания обновлений при запуске, например для получения последней сборки из git, или перейти в контейнеры. Любая задача, масштабируемая автоматически, может быть помещена в контейнер, и ее выполнение в Docker не повлияет на производительность. Вы можете прочитать наше руководство по перемещению вашего приложения в Docker, чтобы узнать больше.

Использование ваших шаблонов в MIG

Управляемые группы экземпляров (MIG) – это группы экземпляров, которые поддерживают автоматическое масштабирование и автоматическое восстановление, разумеется, на основе шаблонов экземпляров. Вы можете выбрать шаблон, который хотите использовать, в настройках при создании управляемой группы экземпляров.

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