使用 Notebooks API 注册旧版实例

本页面介绍如何使用 Notebooks API 迁移和注册用户管理的旧版笔记本实例。使用 Compute Engine API 创建的实例称为旧版实例。旧版实例没有特性和功能的最新更新。

如需使用 Notebooks API 提供的新功能和特性,您必须通过 Notebooks API 注册旧版实例。在注册旧版实例之前,请检查这些实例是否满足要求。您可以迁移不符合要求的实例。

如果您在注册旧版实例之前启用 Notebooks API,则 Notebooks API 激活流程将尝试自动注册现有旧版实例。

要求和限制

在使用 Notebooks API 注册旧版实例之前,请考虑以下要求和限制。

  • 源可用区和目标可用区必须匹配,且必须是 Notebooks API 的有效可用区。

    例如,向 Notebooks API 注册后,us-west1-a 中的旧版用户管理的笔记本实例仍将保留在 us-west1-a 中。但是,us-central1-f 中的旧版用户管理的笔记本实例不会向 Notebooks API 注册,因为 us-central1-f 不是 Notebooks API 的有效可用区。

    如需获取 Notebooks API 笔记本实例的有效可用区列表,请使用首选终端或 Cloud Shell 中的 Google Cloud CLI 运行以下命令:

    gcloud notebooks locations list
    

    如果旧版实例的可用区不是 Notebooks API 的有效可用区,您可以联系支持人员或者您的客户经理,或者将旧版实例迁移到新的用户管理的笔记本实例

  • 只有双磁盘实例才能使用所有用户管理的笔记本功能。

    即使向 Notebooks API 注册了单磁盘旧版实例,这些实例也无法使用某些用户管理的笔记本功能(例如自动升级)。如需允许单磁盘旧版实例使用所有可用功能,您必须将单磁盘实例迁移到双磁盘实例

    在从旧版实例迁移到使用 Notebooks API 注册的实例的过程中,您可以将单磁盘实例迁移到双磁盘实例。如果您已使用 Notebooks API 注册旧版实例,则仍可以将该实例迁移到新的双磁盘实例来解决此问题。

    如需验证磁盘数量,请完成以下步骤。

    控制台

    1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

      前往“虚拟机实例”

    2. 查找现有的旧版用户管理的笔记本实例。

    3. 点击实例名称打开虚拟机实例详情页面。

    4. 启动磁盘额外磁盘部分中,验证挂接到虚拟机的磁盘数量。

    gcloud

    1. Cloud Shell 中或安装了 Google Cloud CLI 的任何环境中,输入以下 Google Cloud CLI 命令:

      gcloud compute instances describe MY_INSTANCE_NAME \
          --zone=MY_ZONE
      

      替换以下内容:

      • MY_INSTANCE_NAME:实例的名称
      • MY_ZONE:您的实例所在的可用区
    2. 查看 disks: 后面的信息,并验证挂接到虚拟机的磁盘数量。

将旧版实例迁移到新的用户管理的笔记本实例

如果旧版用户管理的笔记本实例所在的可用区不是 Notebooks API 的有效可用区,或者您要从单磁盘实例迁移到双磁盘实例,则必须创建用户管理的笔记本实例,并将用户数据从旧版实例复制到新实例。

如需创建用户管理的笔记本实例并将用户数据从旧版实例复制到新实例,请完成以下步骤:

  1. 如需使用 ssh 连接到 Cloud Shell 或安装了 Google Cloud CLI 的任何环境中的旧版实例,请输入以下 Google Cloud CLI 命令:

    export PROJECT_ID="MY_PROJECT_ID"
    export ZONE="MY_ZONE"
    export INSTANCE_NAME="MY_INSTANCE"
    gcloud compute ssh \
        --project $PROJECT_ID \
        --zone $ZONE $INSTANCE_NAME \
        -- -L 8080:localhost:8080
    

    替换以下内容:

    • MY_PROJECT_ID:您的 Google Cloud 项目的 ID
    • MY_ZONE:您的实例所在的可用区
    • MY_INSTANCE:包含相关信息的实例的名称。
  2. 如需将旧版实例的内容复制到 Cloud Storage 存储桶,请使用 gsutil。以下示例命令会将所有笔记本 (.ipynb) 文件从默认目录 /home/jupyter/ 复制到名为 my-bucket/legacy-notebooks 的 Cloud Storage 目录。

    gsutil cp -R /home/jupyter/*.ipynb gs://my-bucket/legacy-notebooks/
    
  3. 创建与旧版实例硬件规范相同的用户管理的笔记本实例。您可以使用 Google Cloud 控制台Google Cloud CLI 创建实例。

    在此示例中,Vertex AI Workbench 会使用最新的 TensorFlow 2 映像在 example 项目中创建一个名为 new-notebook 的用户管理的笔记本实例,且该实例的机器类型为 n1-standard-1,位于可用区 us-west1-a

    Cloud Shell 中或安装了 Google Cloud CLI 的任何环境中,输入以下 Google Cloud CLI 命令:

    gcloud notebooks instances create new-notebook \
        --vm-image-project=example \
        --vm-image-family=tf-latest-cpu \
        --machine-type=n1-standard-1 \
        --location=us-west1-a
    

    新的 Notebooks 实例是双磁盘实例。该磁盘具有启动磁盘和数据磁盘。

  4. 使用 ssh 连接到您刚创建的用户管理的笔记本实例。

  5. 如需将旧版实例的内容从 Cloud Storage 存储桶复制到新实例,请使用 gsutil。以下示例命令将 Cloud Storage 目录中的所有笔记本 (.ipynb) 文件复制到新实例的 /home/jupyter/ 目录中。

    gsutil cp -R gs://my-bucket/legacy-notebooks/*.ipynb  /home/jupyter/
    
  6. 在新的用户管理的笔记本实例中,打开 JupyterLab 并确认用户数据和资源已成功复制。

  7. 可选:删除旧版实例。

使用 Notebooks API 注册旧版实例

如需使用 Notebooks API 管理旧版实例,您必须通过 Notebooks API 注册旧版实例。

如果您在注册旧版实例之前启用 Notebooks API,则 Notebooks API 激活流程将尝试自动注册现有旧版实例。如果您在启用 Notebooks API 后创建旧版实例,则必须使用以下任一方法手动注册这些实例。

如需通过 Notebooks API 注册旧版实例,您可以使用 Google Cloud Console 或 Notebooks API。

控制台

如需在 Google Cloud 控制台中使用全部注册选项,请完成以下步骤:

  1. 在 Google Cloud 控制台中,前往用户管理的笔记本页面。

    前往“用户管理的笔记本”

  2. 如果您有一个或多个旧版用户管理的笔记本实例,则系统会显示一条消息,指示您需要通过 Notebooks API 注册这些实例。点击此消息旁边的全部注册

  3. 如果您没有任何旧版用户管理的笔记本实例,但尚未启用 Notebooks API,请点击启用 Notebooks API,以确保可以使用 Notebooks API 创建新的用户管理的笔记本实例。

Notebooks API

如需使用 Notebooks API 提供的 register 方法,请在 Cloud Shell 或安装了 Google Cloud CLI 的任何环境中,输入以下 Google Cloud CLI 命令:

gcloud notebooks instances register MY_INSTANCE_NAME \
    --location=MY_ZONE

替换以下内容:

  • MY_INSTANCE_NAME:实例的名称
  • MY_ZONE:您的实例所在的可用区

后续步骤