Создать экземпляр с помощью terrafrom из GCP Marketplace

Я пытаюсь создать скрипт terraform для запуска экземпляр fastai из торговой площадки.

Я добавляю имя изображения как,

boot_disk {
    initialize_params {
      image = "<image name>"
    }
  }

Когда я добавляю

click-to-deploy-images/deeplearning

с URL

https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning

выдает ошибку,


Error: Error resolving image name 'click-to-deploy-images/deeplearning': Could not find image or family click-to-deploy-images/deeplearning

  on fastai.tf line 13, in resource "google_compute_instance" "default":
  13: resource "google_compute_instance" "default" {

Если я использую

debian-cloud/debian-9

с URL

https://console.cloud.google.com/marketplace/details/debian-cloud/debian-stretch?project=<>

работает.

Можем ли мы развернуть образ fastai через terraform?


person Netro    schedule 03.03.2020    source источник


Ответы (3)


Я выполнил развертывание из экземпляра виртуальной машины на рынке глубокого обучения, которым вы делитесь и просматриваете исходный образ [1], вы должны иметь возможность использовать этот URL-адрес, который я предоставил, для развертывания с Terraform. Я также заметил предупреждающее изображение, в котором говорится, что изображение устарело и есть эта новая версия [2].

Надеюсь это поможет!

[1] sourceImage: https://www.googleapis.com/compute/v1/projects/click-to-deploy-images/global/images/tf2-2-1-cu101-20200109

[2] https://www.googleapis.com/compute/v1/projects/click-to-deploy-images/global/images/tf2-2-1-cu101-20200124

person Luis Javier Alvarez Rodriguez    schedule 03.03.2020
comment
Привет. Я получаю 401 после нажатия на эти ссылки. Как я могу устранить ошибку 401.? любая идея? - person Netro; 04.03.2020

В данном конкретном случае имя было «deeplearning-platform-release / pytorch-latest-gpu»,

boot_disk {
    initialize_params {
      image = "deeplearning-platform-release/pytorch-latest-gpu"
      ...
    }
  }

Теперь я могу создать экземпляр.

person Netro    schedule 04.03.2020

Другим новичкам вроде меня:

Очевидно GCP Marketplace использует Диспетчер развертывания, который это собственный декларативный инструмент Google для управления инфраструктурой. (Я думаю, что modules - наиболее близкая к нему абстракция в terraform.)

Следовательно, нет простого / однозначного ответа на вопрос в заголовке.

На мой взгляд, если вы начинаете с нуля и / или можете позволить себе потратить время, лучше всего использовать terraform модуля вместо решений GCP marketplace - если таковые существуют.

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

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

На этом этапе вы можете увидеть, какие ресурсы составляют развертывание. Вероятно, будет vm template (s), vm (s), firewall rule (s) и т.д ...

Щелкнув vm instance, template покажет вам много полезных деталей.

Самое главное, вы можете определить, какое изображение было использовано.

Например: В моем случае это показало:

sourceImage https://www.googleapis.com/compute/v1/projects/openvpn-access-server-200800/global/images/aspub275

Исходя из этого, я мог определить (на основе ответа по проблеме (# 7319)

data "google_compute_image" "openvpn_server" {
  name    = "aspub275"
  project = "openvpn-access-server-200800"
}

Который я, в свою очередь, мог использовать в google_compute_instance ресурсе.

Однако это заставит воссоздать виртуальную машину.

person uthomas    schedule 18.05.2021
comment
также есть registry.terraform.io/providers/hashicorp/ google / latest / docs /, но начинается с огромного предупреждающего знака ... - person uthomas; 18.05.2021