Manage image versions

This document describes how to manage image versions for Vertex AI Workbench instances, including software stack details and instructions for creating and upgrading instances.

Reference the Vertex AI Workbench release notes to check what is supported with each image version.

VM images

VM images on Vertex AI Workbench instances use two separate versioning schemes: major and minor.

  • Major versions: Vertex AI Workbench instances use calendar versioning (YY.MM) to mark major releases which introduce significant changes to the underlying image. These can include updates to support in frameworks, OS, and Python versioning. Once a new major version is released, users can expect the following:

    • New features will only be developed in the latest release track.
    • Older release branches will continue to be updated at the same cadence but are expected to be phased out in the near future.

    The image family name reflects the release train (for example, workbench-instances-YYMM).

  • Minor versions: The minor version is a date-based tag that indicates the specific build of the image, following the format YYYYMMDD-HHMM-rcX. This includes point releases such as bug fixes and security patches applied to the latest release train.

Legacy release track

Image family: workbench-instances

  • OS: Debian 11
  • Python: 3.11
  • Frameworks: TensorFlow/PyTorch/Base (common ML packages)

Minor versioning: The legacy release images will continue to be updated using milestone versioning incremented numerically (for example, m140) to signify minor updates.

Retrieve image list

VM images are stored in a private repository. To retrieve a list of available VM images and their supported configurations, you can use the gcloud workbench instances get-config command in the Google Cloud CLI or the GetConfig API.

gcloud

To retrieve the valid configurations for Vertex AI Workbench instances in a specific location, use the gcloud workbench instances get-config command.

gcloud workbench instances get-config --location=LOCATION

Replace the following:

  • LOCATION: the Google Cloud region (for example, us-central1).

cURL

To retrieve the configurations using the API, make a GET request to the getConfig endpoint.

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances:getConfig"

Replace the following:

  • PROJECT_ID: your Google Cloud project ID.
  • LOCATION: the region where you want to retrieve configurations.

Create instance with specific VM image

To create a Vertex AI Workbench instance with a specific VM image version, you can use the gcloud CLI or Terraform:

gcloud

Specify the selected image family or image name using the --vm-image-family or --vm-image-name flag in gcloud workbench instances create.

# Using an image family
gcloud workbench instances create INSTANCE_NAME \
  --vm-image-project=cloud-notebooks-managed \
  --vm-image-family=workbench-instances-2603 \
  --location=LOCATION

# Using a specific image name
gcloud workbench instances create INSTANCE_NAME \
  --vm-image-project=cloud-notebooks-managed \
  --vm-image-name=workbench-2603-20260329-2200-rc0 \
  --location=LOCATION

Replace the following:

  • INSTANCE_NAME: the name of your instance.
  • LOCATION: the region where you want to create the instance.

For more information on creating an instance with a specific version, see Create a specific version.

Terraform

In the Terraform configuration, set the vm_image block within the google_workbench_instance resource.

resource "google_workbench_instance" "vm_instance" {
  # ... other configurations
  gce_setup {
    vm_image {
      project      = "cloud-notebooks-managed"
      family       = "workbench-instances-2603" # Or use name = "workbench-instances-2603-20240315-1800-rc0"
    }
  }
  # ...
}

Upgrade a VM image

Vertex AI Workbench instances only support upgrading to the latest version based on the image family. A new instance must be created in order to use an older image.

To upgrade a VM image to the latest version within its image family, you can use the gcloud CLI or Terraform:

gcloud

gcloud workbench instances upgrade INSTANCE_NAME --location=LOCATION

Replace the following:

  • INSTANCE_NAME: the name of your instance.
  • LOCATION: the region where your instance is located.

Terraform

To upgrade an instance using Terraform, update the family or name in the vm_image block to the selected version and apply the configuration.

resource "google_workbench_instance" "vm_instance" {
  # ... other configurations
  gce_setup {
    vm_image {
      project      = "cloud-notebooks-managed"
      family       = "workbench-instances-2603" # Update to the latest family
    }
  }
}

For more information on upgrading, see Upgrade an instance's environment.

Custom container image

Custom containers on Vertex AI Workbench instances follow a strictly sequential release model without any image branching or parallel maintenance. A date versioning tag is used, which is shared with all the images used to manage custom containers on Vertex AI Workbench instances for any given release. The versioning tag follows the format YYYYMMDD-HHMM-rcX.

Create a custom container-based instance describes how to build and utilize custom containers on Vertex AI Workbench instances.

Host image

Image family: workbench-container-host

The container host uses Google's Container Optimized OS (COS). The version cannot be specified when creating a new Vertex AI Workbench custom container instance. Instead, new instances use the latest COS image as the container host. The underlying image follows the latest stable OS version from COS. See the Container-Optimized OS release notes.

Custom container base images

Custom containers are built on top of the following Google-provided base containers when using Vertex AI Workbench instances:

  • Base Container: us-docker.pkg.dev/deeplearning-platform-release/gcr.io/workbench-container:latest
  • Slim Container: us-docker.pkg.dev/deeplearning-platform-release/gcr.io/workbench-container-slim:latest

The containers are tagged with their corresponding release tag, which can be observed in the Artifact Registry page.

Create instance with container images

To create a Vertex AI Workbench instance using a custom container, the following methods can be used:

gcloud

gcloud workbench instances create INSTANCE_NAME \
  --project=PROJECT_ID \
  --location=ZONE \
  --container-repository=REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/IMAGE_NAME \
  --container-tag=latest

Replace the following:

  • INSTANCE_NAME: the name of your instance.
  • PROJECT_ID: your Google Cloud project ID.
  • ZONE: the zone where you want to create the instance (for example, us-central1-a).
  • REGION: the region for the Artifact Registry repository (for example, us).
  • REPOSITORY_NAME: the name of your Artifact Registry repository.
  • IMAGE_NAME: the name of your container image.

Terraform

Set the container_image block within the google_workbench_instance resource.

resource "google_workbench_instance" "container_instance" {
  # ... other configurations
  gce_setup {
    container_image {
      repository = "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/workbench-container"
      tag  = "latest"
    }
  }
  # ...
}

Upgrading custom containers

To upgrade the container host image, see Upgrading VM image for examples using gcloud or Terraform.

To upgrade the custom container image, a mutable tag (such as :latest) can be used. When the custom container instance is restarted, the image is repulled if changes have been made to that tag in the registry. Alternatively, the instance can be updated to use a different image tag.

Limitations

  • Vertex AI Workbench instances don't provide an API surface to directly upgrade between major versions. Data disks must be backed up and the restore method used to create a new instance with the latest release. For more information, see Restore a snapshot.