管理映像版本

本文档介绍了如何管理 Gemini Enterprise Agent Platform Workbench 实例的映像版本,包括软件堆栈详细信息以及创建和升级实例的说明。

请参阅 Agent Platform Workbench 版本说明,了解每个映像版本支持的内容。

虚拟机映像

Agent Platform Workbench 实例上的虚拟机映像使用两个单独的版本控制方案:主要版本和次要版本。

  • 主要版本:Agent Platform Workbench 实例使用日历版本控制 (YY.MM) 来标记对底层映像进行重大更改的主要版本。这些更改可能包括对框架、操作系统和 Python 版本控制的支持更新。发布新的主要版本后,用户可以期待以下内容:

    • 新功能将仅在最新发布轨道中开发。
    • 旧的发布分支将继续以相同的节奏更新,但预计会在不久的将来逐步淘汰。

    映像系列名称反映了发布轨道(例如 workbench-instances-YYMM)。

  • 次要版本:次要版本是基于日期的标记,用于指示映像的特定 build,格式为 YYYYMMDD-HHMM-rcX。这包括应用于最新发布轨道的点版本,例如 bug 修复和安全补丁。

旧版发布轨道

映像系列workbench-instances

  • 操作系统:Debian 11
  • Python:3.11
  • 框架:TensorFlow/PyTorch/Base(常见机器学习软件包)

次要版本控制旧版发布映像将继续使用里程碑版本控制进行更新,该版本控制以数字递增(例如 m140)来表示次要更新。

检索映像列表

虚拟机映像存储在私有代码库中。如需检索可用虚拟机映像及其支持的配置的列表,您可以使用 Google Cloud CLI 中的 gcloud workbench instances get-config 命令或 GetConfig API。

gcloud

如需检索特定位置中 Agent Platform Workbench 实例的有效配置,请使用 gcloud workbench instances get-config 命令。

gcloud workbench instances get-config --location=LOCATION

替换以下内容:

  • LOCATION:区域(例如 Google Cloud )。us-central1

cURL

如需使用 API 检索配置,请向 getConfig 端点发出 GET 请求。

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

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:您要检索配置的区域。

使用特定虚拟机映像创建实例

如需使用特定虚拟机映像版本创建 Agent Platform Workbench 实例,您可以使用 gcloud CLI 或 Terraform:

gcloud

gcloud workbench instances create 中使用 --vm-image-family--vm-image-name 标志指定所选的映像系列或映像名称。

# 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-instances-2603-20240315-1800-rc0 \
  --location=LOCATION

替换以下内容:

  • INSTANCE_NAME:实例的名称。
  • LOCATION:您要创建实例的区域。

如需详细了解如何使用特定版本创建实例,请参阅创建特定版本

Terraform

在 Terraform 配置中,在 google_workbench_instance 资源中设置 vm_image 块。

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"
    }
  }
  # ...
}

升级虚拟机映像

Agent Platform Workbench 实例支持升级到映像系列的最新版本。默认情况下,实例会升级到其当前映像系列中的最新映像。如需跨映像系列(例如,在 主要版本之间)升级,请参阅 跨映像系列升级。如需使用旧版映像,必须创建新实例。

如需将虚拟机映像升级到其映像系列中的最新版本,您可以使用 gcloud CLI 或 Terraform:

gcloud

gcloud workbench instances upgrade INSTANCE_NAME --location=LOCATION

替换以下内容:

  • INSTANCE_NAME:实例的名称。
  • LOCATION:实例所在的区域。

Terraform

如需使用 Terraform 升级实例,请将 vm_image 块中的 familyname 更新为所选版本,然后应用配置。

resource "google_workbench_instance" "vm_instance" {
  # ... other configurations
  gce_setup {
    vm_image {
      project      = "deeplearning-platform-release"
      family       = "workbench-instances-2603" # Update to the latest family
    }
  }
}

如需详细了解升级,请参阅升级实例的环境

跨映像系列升级

如需将实例升级到 不同 映像系列中的最新映像 (例如,从旧版 workbench-instances 发布轨道迁移到 较新的 workbench-instances-2603 发布轨道),请在升级期间指定目标映像 系列。这是在不重新创建实例的情况下在主要版本之间迁移的受支持路径。

gcloud

--image-family 标志与 gcloud workbench instances upgrade 结合使用,以指定目标映像系列。实例会升级到指定系列中的最新映像。

gcloud workbench instances upgrade INSTANCE_NAME \
  --location=LOCATION \
  --image-family=projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY

替换以下内容:

  • INSTANCE_NAME:实例的名称。
  • LOCATION:实例所在的区域。
  • IMAGE_PROJECT:托管映像系列的项目的名称(例如 deeplearning-platform-release)。
  • IMAGE_FAMILY:目标映像系列的名称(例如 workbench-instances-2603)。

例如,如需将实例升级到 workbench-instances-2603 系列中的最新映像,请执行以下操作:

gcloud workbench instances upgrade example-instance \
  --location=us-central1 \
  --image-family=projects/deeplearning-platform-release/global/images/family/workbench-instances-2603

如果省略 --image-family 标志,实例会升级到其当前映像系列中的最新映像。

自定义容器映像

Agent Platform Workbench 实例上的自定义容器遵循严格的顺序发布模型,没有任何映像分支或并行维护。系统会使用日期版本控制标记,该标记与用于管理任何给定版本中 Agent Platform Workbench 实例上的自定义容器的所有映像共享。版本控制标记的格式为 YYYYMMDD-HHMM-rcX

创建基于自定义容器的实例介绍了如何在 Agent Platform Workbench 实例上构建和使用自定义容器。

主机映像

映像系列workbench-container-host

容器主机使用 Google 的 Container Optimized OS (COS)。创建新的 Agent Platform Workbench 自定义容器实例时,无法指定版本。相反,新实例使用最新的 COS 映像作为容器主机。底层映像遵循 COS 的最新稳定操作系统版本。请参阅 Container-Optimized OS 版本说明

自定义容器基础映像

使用 Agent Platform Workbench 实例时,自定义容器基于以下 Google 提供的基础容器构建:

  • 基础容器:us-docker.pkg.dev/deeplearning-platform-release/gcr.io/workbench-container:latest
  • 精简容器:us-docker.pkg.dev/deeplearning-platform-release/gcr.io/workbench-container-slim:latest

容器会使用其对应的发布标记进行标记,您可以在 Artifact Registry 页面中观察到这些标记。

使用容器映像创建实例

如需使用自定义容器创建 Agent Platform Workbench 实例,可以使用以下方法:

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

替换以下内容:

  • INSTANCE_NAME:实例的名称。
  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • ZONE:您要创建实例的可用区(例如 us-central1-a)。
  • REGION:Artifact Registry 代码库的区域(例如 us)。
  • REPOSITORY_NAME:您的 Artifact Registry 代码库的名称。
  • IMAGE_NAME:容器映像的名称。

Terraform

google_workbench_instance 资源中设置 container_image 块。

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"
    }
  }
  # ...
}

升级自定义容器

如需升级容器主机映像,请参阅升级虚拟机映像,了解使用 gcloud 或 Terraform 的示例。

如需升级自定义容器映像,可以使用可变标记(例如 :latest)。当自定义容器实例重启时,如果注册表中对该标记进行了更改,系统会重新拉取映像。或者,您可以更新实例以使用不同的映像标记。