使用来自 GCP 市场的 Terraform 创建实例
Create instance using terrafrom from GCP marketplace
我正在尝试从市场创建 terraform script to launch the fastai instance。
我正在添加图片名称,
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=<>
正在工作。
我们可以通过 terraform 部署 fastai 镜像吗?
我从您共享的深度学习市场 VM 实例进行了部署并查看了源图像[1],您应该能够使用我提供的 url 通过 Terraform 进行部署。我还注意到一个警告图像,指出该图像已被弃用,并且有这个新版本 [2]。
希望对您有所帮助!
在本例中,名称为 "deeplearning-platform-release/pytorch-latest-gpu"、
boot_disk {
initialize_params {
image = "deeplearning-platform-release/pytorch-latest-gpu"
...
}
}
现在我可以创建实例了。
致其他像我这样的新手:
显然 GCP Marketplace 正在使用 Deployment Manager,这是 google 自己的声明性工具来管理基础设施。 (我认为 module
是 terraform
中最接近它的抽象。)
因此,标题中的问题没有simple/single答案。
在我看来 - 如果你从头开始 and/or 可以花时间 - 最好是使用 terraform
模块而不是 GCP 市场解决方案 - 如果存在的话。
但是,更改是好的,因为您正在导入现有的基础设施,您不能立即替换它(或者没有这样的模块)。
在这种情况下,我认为您最好的办法是转至 Deployment Manager in google console 并打开您需要导入的特定部署。
此时您可以看到构成部署的资源。大概会有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
由此我可以定义(基于an answer on issue #7319)
data "google_compute_image" "openvpn_server" {
name = "aspub275"
project = "openvpn-access-server-200800"
}
我可以反过来在 google_compute_instance
资源中使用。
不过,这将强制重新创建 VM。
我正在尝试从市场创建 terraform script to launch the fastai instance。
我正在添加图片名称,
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=<>
正在工作。
我们可以通过 terraform 部署 fastai 镜像吗?
我从您共享的深度学习市场 VM 实例进行了部署并查看了源图像[1],您应该能够使用我提供的 url 通过 Terraform 进行部署。我还注意到一个警告图像,指出该图像已被弃用,并且有这个新版本 [2]。
希望对您有所帮助!
在本例中,名称为 "deeplearning-platform-release/pytorch-latest-gpu"、
boot_disk {
initialize_params {
image = "deeplearning-platform-release/pytorch-latest-gpu"
...
}
}
现在我可以创建实例了。
致其他像我这样的新手:
显然 GCP Marketplace 正在使用 Deployment Manager,这是 google 自己的声明性工具来管理基础设施。 (我认为 module
是 terraform
中最接近它的抽象。)
因此,标题中的问题没有simple/single答案。
在我看来 - 如果你从头开始 and/or 可以花时间 - 最好是使用 terraform
模块而不是 GCP 市场解决方案 - 如果存在的话。
但是,更改是好的,因为您正在导入现有的基础设施,您不能立即替换它(或者没有这样的模块)。
在这种情况下,我认为您最好的办法是转至 Deployment Manager in google console 并打开您需要导入的特定部署。
此时您可以看到构成部署的资源。大概会有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
由此我可以定义(基于an answer on issue #7319)
data "google_compute_image" "openvpn_server" {
name = "aspub275"
project = "openvpn-access-server-200800"
}
我可以反过来在 google_compute_instance
资源中使用。
不过,这将强制重新创建 VM。