Как изменить флаг изображения машины “preemptible” в GCP?

Вопрос или проблема

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

Моя идея заключалась в том, чтобы выключить экземпляр, создать образ диска, а затем создать экземпляр ВМ из этого образа с моделью провизии SPOT.

Консоль GCP позволяет мне делать это с Машинными образами, но когда экземпляр пытается запуститься, я получаю следующую ошибку:

Недопустимое значение для поля 'resource.scheduling.provisioningModel': 'SPOT'. preemptible=false и provisioning_model=SPOT противоречит.

Когда я проверил образ, у него действительно есть Preemtibility: Off в Доступные политики, но нет возможности изменить это свойство. Так что, по всей видимости, Машинные образы в GCP – это не просто образы дисков.

Существует ли способ создать копии экземпляров SPOT моего стандартного сервера вообще?

Ответ или решение

Чтобы изменить флаг "preemptible" (предварительная доступность) в Google Cloud Platform (GCP) и создать экземпляры SPOT (спотовые) из обычного экземпляра, необходимо учитывать несколько ключевых моментов, поскольку в GCP концепция машинных изображений включает не только образы дисков, но и дополнительные параметры.

Шаги для создания SPOT экземпляров из стандартного экземпляра

1. Остановка текущего экземпляра

Перед созданием образа остановите ваш стандартный экземпляр:

  • Перейдите в консоль GCP.
  • Найдите ваш экземпляр в разделе "Compute Engine" > "VM Instances".
  • Нажмите "Stop", чтобы остановить виртуальную машину.

2. Создание образа

Создайте образ диска:

  • После остановки экземпляра перейдите в раздел "Compute Engine" > "Images".
  • Нажмите "Create Image".
  • Убедитесь, что вы выбрали диск вашего остановленного экземпляра в качестве источника.
  • Важно: в процессе создания образа не выбирайте параметр "Preemptibility" (доступность). Этот параметр не может быть изменен в процессе создания машинного изображения.

3. Создание новых экземпляров SPOT

После создания образа вам нужно будет создать новый экземпляр на основе этого образа со статусом "SPOT":

  • Перейдите в раздел "Compute Engine" > "VM Instances".
  • Нажмите на кнопку "Create Instance".
  • В разделе "Machine Configuration" выберите созданный вами образ.
  • Обязательно установите "Provisioning Model" на "SPOT" в разделе "Scheduling".

Примечания о проблеме

Ошибка, которую вы получили:

Invalid value for field 'resource.scheduling.provisioningModel': 'SPOT'. preemptible=false and provisioning_model=SPOT is contradicting.

указывает на то, что ваш образ имеет параметр "preemptible" отключённым. Это связано с тем, что, если вы создаёте машинный образ, он сохраняет свои исходные характеристики, в том числе настройку "preemptibility".

4. Альтернативный подход

Если вам необходимо создавать SPOT экземпляры, рекомендуется использовать клон экземпляра вместо создания образа:

  • В разделе "VM Instances" кликните на ваш стандартный экземпляр и выберите "Create Instance" в меню "Actions".
  • Здесь у вас будет возможность выбрать параметр "Preemptible" для нового экземпляра. Просто отметьте этот параметр при создании экземпляра.

Заключение

Создание SPOT экземпляров из стандартных экземпляров в GCP требует правильной настройки параметров во время создания экземпляров и образов. Обратите внимание, что невозможно изменить флаг "preemptible" для уже созданного образа, поэтому использование клонирования экземпляра может оказаться более простым решением.

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

Оцените материал
Добавить комментарий

Капча загружается...