You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GCP Terraform脚本中指定与修改镜像名称?

Hey there! Let's break down how to swap your default Debian image for the GCP Marketplace Deep Learning VM in your Terraform script, plus cover the general approach to specifying images for GCP instances.

1. Replace Debian 9 with the GCP Deep Learning VM Image

First, you need to know the correct identifier for the Deep Learning VM image—these live in a dedicated GCP project (deeplearning-platform-release) and are grouped into image families (like for TensorFlow, PyTorch, etc.) that auto-update to the latest version.

Step-by-Step Modification

Here's what your original instance template might look like with the Debian image:

resource "google_compute_instance_template" "default" {
  name_prefix = "debian-vm-template-"
  machine_type = "n1-standard-1"

  disk {
    source_image = "debian-cloud/debian-9"
  }

  # Additional config (network, service account, etc.)
}

To switch to the Deep Learning VM, update the disk block to reference the image family or specific image version from the deeplearning-platform-release project. For example, if you want the latest TensorFlow GPU image:

resource "google_compute_instance_template" "deep_learning_vm" {
  name_prefix = "dl-vm-template-"
  # Use a machine type suitable for deep learning (adjust as needed)
  machine_type = "n1-standard-8"

  disk {
    # Use an image family to auto-get the latest version
    source_image = "projects/deeplearning-platform-release/global/images/family/tf-latest-gpu"
    
    # Alternatively, use a specific fixed image version if you need environment consistency:
    # source_image = "projects/deeplearning-platform-release/global/images/tf-latest-gpu-v20240501"
  }

  # Add GPU accelerator if using a GPU-based image (required for GPU families)
  accelerator {
    type  = "nvidia-tesla-t4"
    count = 1
  }

  # Additional config (network, service account, etc.)
}

Key Notes

  • Using an image family (the /family/ path) ensures you always get the latest patched version of the image.
  • If you need a fixed, reproducible environment, use the full image name (you can find specific version names in the GCP Console's Marketplace image details).
2. General Method to Specify Images in GCP Terraform

Depending on the type of image you're using, the way to reference it varies:

  • Public Official Images (Debian, Ubuntu)
    Use the format [image-project]/[image-name] or [image-project]/global/images/family/[family-name]. For example:

    source_image = "ubuntu-os-cloud/ubuntu-2204-lts"
    # Or use the family for auto-updates:
    source_image = "ubuntu-os-cloud/global/images/family/ubuntu-2204-lts"
    
  • Custom Images (Your Own)
    Reference your custom image using its full project path, or use a data resource to fetch it dynamically:

    # Fetch a custom image dynamically
    data "google_compute_image" "my_custom_image" {
      name = "my-company-custom-image"
      project = "my-gcp-project-id"
    }
    
    resource "google_compute_instance_template" "custom_vm" {
      # ...
      disk {
        source_image = data.google_compute_image.my_custom_image.self_link
      }
    }
    
  • Marketplace Images
    Most Marketplace images live in dedicated GCP projects. For the Deep Learning VM, we used deeplearning-platform-release, but other Marketplace images will have their own project IDs. You can find these details in the Marketplace image's "Terraform" tab or under the image's technical documentation.

Important Checks

  • Ensure your Terraform service account has permissions to access the image's project (public Marketplace images usually allow public access by default).
  • For GPU-enabled images, don't forget to add the accelerator block as shown earlier—otherwise, the GPU won't be attached to the instance.

内容的提问来源于stack exchange,提问作者Neji hyuga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 10:27:46