【问题标题】:Create instance using terrafrom from GCP marketplace使用来自 GCP 市场的 terraform 创建实例
【发布时间】:2020-06-16 01:04:27
【问题描述】:

我正在尝试创建terraform script 以从市场推出fastai instance

我将图像名称添加为,

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

当我添加时

click-to-deploy-images/deeplearning

来自网址

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

来自网址

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

正在工作。

我们可以通过 terraform 部署 fastai 镜像吗?

【问题讨论】:

    标签: google-cloud-platform terraform terraform-provider-gcp


    【解决方案1】:

    我从您共享的深度学习市场 VM 实例进行了部署,并查看了源图像 [1],您应该能够使用我提供的 URL 来使用 Terraform 进行部署。我还注意到一个警告图像,指出该图像已被弃用,并且有这个新版本[2]。

    希望这会有所帮助!

    [1]来源图片: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

    【讨论】:

    • 嗨。单击这些链接后,我得到 401。如何解决 401 错误。?有什么想法吗?
    【解决方案2】:

    在这种特殊情况下,名称为“deeplearning-platform-release/pytorch-latest-gpu”,

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

    现在我可以创建实例了。

    【讨论】:

      【解决方案3】:

      致像我这样的其他新手:

      显然,GCP Marketplace 正在使用Deployment Manager,这是 google 自己的声明性工具来管理基础架构。 (我认为modules 是terraform 中最接近它的抽象。)

      因此,标题中的问题没有简单/单一的答案。

      在我看来 - 如果您从头开始和/或有能力付出时间 - 最好使用 terraform 模块而不是 GCP 市场解决方案 - 如果存在的话。

      但是,如果您正在导入现有的基础设施并且您不能立即替换它(或者没有这样的模块),那么更改是好的。

      在这种情况下,我认为您能做的最好的事情就是转到 Deployment Manager in google console 并打开您需要导入的特定部署。

      此时您可以看到哪些资源构成了部署。大概会有vm template(s)、vm(s)、firewall rule(s)等等……

      点击vm instancetemplate 会显示很多有用的细节。

      最重要的是你可以推断出使用了什么图像。

      例如: 就我而言,它显示:

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

      由此我可以定义(基于an answer 问题#7319

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

      我可以反过来在google_compute_instance资源中使用它。

      这将强制重新创建虚拟机。

      【讨论】:

      猜你喜欢
      • 2020-09-05
      • 2016-05-10
      • 1970-01-01
      • 2018-09-24
      • 2021-09-26
      • 2022-07-04
      • 2020-04-08
      • 2018-09-09
      • 1970-01-01
      相关资源
      最近更新 更多