使用自定义容器创建实例

本页面介绍了如何根据自定义容器创建 Vertex AI Workbench 实例。

概览

Vertex AI Workbench 实例支持使用从 Google 提供的基础容器派生的自定义容器。您可以修改此基础容器以制作自定义容器映像,并使用此自定义容器来创建 Vertex AI Workbench 实例。

基础容器在主机虚拟机 (VM) 中配置了 Container-Optimized OS。基础容器提供预安装的数据科学包和特定配置,使您的实例能够与 Google Cloud 集成。

基础容器位于 gcr.io/deeplearning-platform-release/workbench-container:latest

限制

在规划项目时,请注意以下限制:

  • 自定义容器必须派生自 Google 提供的基础容器 (gcr.io/deeplearning-platform-release/workbench-container:latest)。不支持使用未派生自基础容器的容器,这会增加与我们服务不兼容的风险。

  • 不支持将多个容器与 Vertex AI Workbench 实例一起使用。

  • 用户管理的笔记本和代管式笔记本中自定义容器支持的元数据在与 Vertex AI Workbench 实例搭配使用时可能会有不同的行为。

准备工作

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

所需的角色

为确保您的用户账号具有创建 Vertex AI Workbench 实例所需的权限,请让您的管理员为用户账号授予项目的 Notebooks Runner (roles/notebooks.runner) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您的管理员还可以通过自定义角色或其他预定义角色向您的用户账号授予所需的权限。

创建自定义容器

如需创建用于 Vertex AI Workbench 实例的自定义容器,请执行以下操作:

  1. 创建派生容器,该容器派生自 Google 提供的基础容器映像 (gcr.io/deeplearning-platform-release/workbench-container:latest)。

  2. 构建容器并将其推送到 Artifact Registry。创建 Vertex AI Workbench 实例时,您将使用容器的 URI。例如,该 URI 可能如下所示:gcr.io/PROJECT_ID/IMAGE_NAME

创建实例

您可以使用 Google Cloud 控制台或 Google Cloud CLI 创建基于自定义容器的 Vertex AI Workbench 实例。

控制台

如需基于自定义容器创建 Vertex AI Workbench 实例,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入实例页面。

    转到实例

  2. 点击  新建

  3. 新建实例对话框中,点击高级选项

  4. 创建实例对话框的环境部分中,选择使用自定义容器

  5. 对于 Docker 容器映像,请点击选择

  6. 选择容器映像对话框中,找到要使用的容器映像,然后点击选择

  7. 可选。对于启动后脚本,请输入要使用的启动后脚本的路径。

  8. 完成实例创建对话框的其余部分,然后点击创建

    Vertex AI Workbench 会创建实例并自动启动该实例。当实例可供使用时,Vertex AI Workbench 会激活一个打开 JupyterLab 链接。

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • INSTANCE_NAME:Vertex AI Workbench 实例的名称;必须以字母开头,后面最多可跟 62 个小写字母、数字或连字符 (-),但不能以连字符结尾
  • PROJECT_ID:您的项目 ID
  • LOCATION:您希望实例所在的可用区
  • CUSTOM_CONTAINER_PATH:容器映像仓库的路径,例如:gcr.io/PROJECT_ID/IMAGE_NAME
  • METADATA:要应用于此实例的自定义元数据;例如,如需指定 post-startup-script,您可以使用 post-startup-script 元数据标记,格式为 "--metadata=post-startup-script=gs://BUCKET_NAME/hello.sh"

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud workbench instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --container-repository=CUSTOM_CONTAINER_URL \
    --container-tag=latest \
    --metadata=METADATA

Windows (PowerShell)

gcloud workbench instances create INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --container-repository=CUSTOM_CONTAINER_URL `
    --container-tag=latest `
    --metadata=METADATA

Windows (cmd.exe)

gcloud workbench instances create INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --container-repository=CUSTOM_CONTAINER_URL ^
    --container-tag=latest ^
    --metadata=METADATA

如需详细了解用于从命令行创建示例的命令,请参阅 gcloud CLI 文档

Vertex AI Workbench 会创建实例并自动启动该实例。当实例可供使用时,Vertex AI Workbench 会在 Google Cloud 控制台中激活打开 JupyterLab 链接。

示例安装:自定义容器和自定义默认内核

以下示例展示了如何创建预安装了 pip 软件包的新内核。

  1. 创建新的自定义容器:

    FROM gcr.io/deeplearning-platform-release/workbench-container:latest
    
    ENV MAMBA_ROOT_PREFIX=/opt/micromamba
    
    RUN micromamba create -n ENVIRONMENT_NAME -c conda-forge python=PYTHON_VERSION -y
    
    SHELL ["micromamba", "run", "-n", "ENVIRONMENT_NAME", "/bin/bash", "-c"]
    
    RUN micromamba install -c conda-forge pip -y
    RUN pip install PACKAGE
    RUN pip install ipykernel
    RUN python -m ipykernel install --prefix /opt/micromamba/envs/ENVIRONMENT_NAME --name ENVIRONMENT_NAME --display-name KERNEL_NAME
  2. 将新容器添加到 Artifact Registry:

    gcloud auth configure-docker REGION-docker.pkg.dev
    docker build -t REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME .
    docker push REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME:latest
  3. 创建实例:

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

访问您的实例

您可以通过代理网址访问您的实例。

在创建并激活实例后,您可以使用 gcloud CLI 获取代理网址。

在使用下面的命令数据之前,请先进行以下替换:

  • INSTANCE_NAME:您的 Vertex AI Workbench 实例的名称
  • PROJECT_ID:您的项目 ID
  • LOCATION:实例所在的可用区

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud workbench instances describe INSTANCE_NAME \
--project=PROJECT_ID \
--location=LOCATION | grep proxy-url

Windows (PowerShell)

gcloud workbench instances describe INSTANCE_NAME `
--project=PROJECT_ID `
--location=LOCATION | grep proxy-url

Windows (cmd.exe)

gcloud workbench instances describe INSTANCE_NAME ^
--project=PROJECT_ID ^
--location=LOCATION | grep proxy-url
proxy-url: 7109d1b0d5f850f-dot-datalab-vm-staging.googleusercontent.com

describe 命令会返回您的代理网址。要访问您的实例,请在网络浏览器中打开代理网址。

如需详细了解用于通过命令行描述实例的命令,请参阅 gcloud CLI 文档