升级用户管理的笔记本实例的环境
Vertex AI Workbench 用户管理的笔记本实例是已启用 JupyterLab 笔记本环境且可供使用的 Deep Learning VM Image 映像实例。本页面介绍如何升级用户管理的笔记本实例的环境。
升级原因
您可能因为以下任何原因需要升级用户管理的笔记本实例的环境:
使用仅在较新版本的环境中提供的新功能。
受益于在较新版本的环境中实现的框架更新、软件包更新和 bug 修复。
升级方法
您可以通过两种方法升级用户管理的笔记本实例:
自动升级:在创建用户管理的笔记本实例时启用自动升级。在您指定的周期性时间段内,Vertex AI Workbench 会检查实例是否可以升级;如果是,则 Vertex AI Workbench 会升级实例。
手动升级:如果现有的用户管理的笔记本实例满足升级的要求,您可以手动升级实例。
要求和限制
与用户管理的笔记本的向后兼容性无法得到保证。在升级用户管理的笔记本实例之前,请创建数据副本。
如需确定是否可以升级特定的用户管理的笔记本实例,请参阅以下要求和限制:
实例的Google Cloud 项目中必须启用 Notebooks API。如需了解详情,请参阅列出已启用的服务和启用 API。
用户管理的笔记本实例的环境版本必须为 M54 或更高版本。
用户管理的笔记本实例必须使用 Notebooks API 创建,或者必须已向 Notebooks API 注册。
如果用户管理的笔记本实例基于容器,则 Vertex AI Workbench 将升级操作系统。映像版本取决于 Dockerfile 拉取的特定映像。
为了帮助确保升级使用最新版本的映像,请考虑在 Dockerfile 中使用
latest标记。
如果无法升级实例,请考虑将数据迁移到新的用户管理的笔记本实例。
升级的工作原理
可升级的用户管理的笔记本实例为双磁盘实例,包含一个启动磁盘和一个数据磁盘。升级过程会将启动磁盘升级到新映像,同时将数据保留在数据磁盘上。
哪些组件会进行升级或予以保留?
下表显示了用户管理的笔记本实例的哪些组件可升级,以及哪些组件将保留原样。
| 组件 | 升级结果 |
|---|---|
| 机器学习框架 | 已升级 |
| 机器学习数据 | 保留 |
| 预安装的依赖项 | 已升级 |
| 用户安装的库 | 默认情况下,必须重新安装(请参阅用户安装的库) |
/home/jupyter 目录中的本地文件 |
保留 |
任何其他 /home/ 目录中的本地文件 |
不保留 |
| 预安装的操作系统软件包 | 已升级 |
| 用户安装的操作系统软件包 | 不保留 |
| GPU 驱动程序 | 已升级 |
| 笔记本 | 保留 |
| 用户配置 | 保留 |
用户安装的库
默认情况下,用户管理的笔记本实例会将 pip 和 Conda 库存储在启动磁盘中,该磁盘在升级期间会被替换。安装 pip 库时,您可以添加 --user 标志以将其安装在 /home/jupyter/ 目录中;升级期间,这些库将保留在该目录中。
默认情况下,如果您在根据自定义容器创建的内核中安装 pip 或 Conda 库,则这些库仅在内核运行时才会保留。
每次重启内核时,都需要重新安装这些库。如需在自定义容器中安装永久性库,请将库的安装添加到 Dockerfile 中。在根据自定义容器创建的内核中安装 pip 库时,您可以添加 --user 标志,以便这些库在实例重启之前一直保留。
环境版本
Vertex AI Workbench 会定期更新环境(请参阅 Deep Learning VM 版本说明),但对于每个已发布的版本,并非所有环境都会更新。只有当实例基于的虚拟机映像有较新的环境版本时,Vertex AI Workbench 才会升级实例。
如需了解如何使用特定版本创建用户管理的笔记本实例,请参阅创建特定版本的用户管理的笔记本实例。
升级之前
在升级之前,请完成以下步骤。
自动升级
Vertex AI Workbench 可以自动升级正在运行的实例。如果您的实例已停止,那么即使您在创建该实例时启用了自动升级,它也不会自动升级。
启用自动环境升级时,您需要指定 Vertex AI Workbench 检查实例是否可以升级的周期性时间段,如果可以升级,则升级实例。
您指定的时间段以 notebook-upgrade-schedule 元数据条目的形式存储,采用 unix-cron 格式,格林威治标准时间 (GMT)。
Vertex AI Workbench 会使用 API 方法 isUpgradeable 来检查实例是否可以升级。此方法会在实例的启动磁盘上检查是否有新的映像版本。
如果实例可以升级,Vertex AI Workbench 会使用内部升级方法升级实例。
创建启用了自动升级的用户管理的笔记本实例
如需创建启用了自动升级的用户管理的笔记本实例,请选中启用环境自动升级复选框,并在创建该实例时设置时间表。
您可以使用 Google Cloud 控制台或 Google Cloud CLI 指定自动升级。
准备工作
在创建用户管理的笔记本实例之前,您必须拥有Google Cloud 项目并为该项目启用 Notebooks API。- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - 如果您计划在用户管理的笔记本实例中使用 GPU,请查看 Google Cloud 控制台中的配额页面,确保您的项目中有足够的 GPU 可用。如果配额页面上未列出 GPU,或者您需要额外的 GPU 配额,您可以申请增加配额。请参阅 Compute Engine 资源配额页面的申请增加配额。
-
Notebooks Admin (
roles/notebooks.admin) -
Service Account User (
roles/iam.serviceAccountUser) 在 Google Cloud 控制台中,前往用户管理的笔记本页面。或者前往 notebook.new (https://notebook.new) 并跳过下一步。
点击 新建笔记本,然后选择自定义。
在创建用户管理的笔记本页面的详细信息部分中,为新实例提供以下信息:
- 名称:新实例的名称。
- 区域和可用区:为新实例选择区域和可用区。为获得最佳网络性能,请选择与您的地理位置最近的区域。 查看可用的用户管理的笔记本位置。
在系统健康状况部分中,选择环境自动升级。
选择每周还是每月升级一次笔记本。
在星期几字段中,选择所需的选项。
在小时字段中,选择一天中的某个小时。
完成实例创建对话框的其余部分,然后点击创建。
在 Cloud Shell 中或安装了 Google Cloud CLI 的任何环境中,输入以下 Google Cloud CLI 命令:
gcloud notebooks instances create INSTANCE_NAME --metadata=notebook-upgrade-schedule=SCHEDULE --vm-image-project=deeplearning-platform-release --vm-image-family=VM_IMAGE_FAMILY --machine-type=MACHINE_TYPE --location=LOCATION请替换以下内容:
INSTANCE_NAME:新实例的名称SCHEDULE:您设置的每周或每月时间表,采用 unix-cron 格式;例如,“00 19 * * MON”表示格林威治标准时间 (GMT) 每周一的 19:00VM_IMAGE_FAMILY:要用于创建实例的映像系列名称MACHINE_TYPE:实例虚拟机的机器类型LOCATION:新实例所在的 Google Cloud 位置
通过 Google Cloud 控制台访问您的实例。
在 Google Cloud 控制台中,前往用户管理的笔记本页面。
点击需要更改时间表的实例名称。
在笔记本详情页面的环境自动升级部分中,修改时间表。
点击提交,保存您做的修改。
在 Google Cloud 控制台中,前往用户管理的笔记本页面。
如果实例未运行,请启动实例。Vertex AI Workbench 只能在实例运行时对其进行升级。
点击您要检查较新环境版本可用性的实例名称。
在笔记本详情页面上,点击虚拟机详情旁边的在 Compute Engine 中查看。
如果有较新版本的环境,则会显示“此实例需要升级”消息。
在 Google Cloud 控制台中,前往用户管理的笔记本页面。
如果实例未运行,请启动实例。Vertex AI Workbench 只能在实例运行时对其进行升级。
点击要升级的实例名称。
在笔记本详情页面上,点击 升级。
继续操作之前,请确保已创建实例上数据的副本。
备份数据后,点击升级。Vertex AI Workbench 将升级并启动实例。
如需检查实例是否可以升级,请使用 API 方法
isUpgradeable。此方法会在实例的启动磁盘上检查是否有新的映像版本。gcloud notebooks instances is-upgradeable INSTANCE_NAME \ --location=LOCATION请替换以下内容:
INSTANCE_NAME:实例的名称LOCATION:实例所在的 Google Cloud 位置
如果实例可以升级,则响应为
true。如果响应为false,该实例无法升级,但您仍然可以尝试将数据迁移到新实例。如果实例未运行,请启动实例。Vertex AI Workbench 只能在实例运行时对其进行升级。
继续操作之前,请确保已创建实例上数据的副本。
如果实例可以升级,请使用 API 方法
upgrade升级实例:gcloud notebooks instances upgrade INSTANCE_NAME \ --location=LOCATIONVertex AI Workbench 会升级实例。
在 Google Cloud 控制台中,前往用户管理的笔记本页面。
点击要回滚的实例名称。
在笔记本详情页面的升级历史记录下,点击回滚。
Vertex AI Workbench 会将实例回滚到先前版本。
所需的角色
如果您已创建项目,则需要具有项目的 Owner (roles/owner) IAM 角色,该角色可提供所有必需的权限。请跳过此部分,开始创建用户管理的笔记本实例。如果您未自行创建项目,请继续阅读本部分。
如需获得创建 Vertex AI Workbench 用户管理的笔记本实例所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
创建实例
控制台
gcloud
修改自动升级时间表
如需在创建用户管理的笔记本实例后修改自动升级时间表,请完成以下步骤:
手动升级
您可以手动升级符合要求的用户管理的笔记本实例。
检查实例环境的较新版本
如需检查是否有较新版本的实例环境,请从 Google Cloud 控制台访问实例。
将实例的环境升级到新版本
您可以在 Google Cloud 控制台中或使用 Google Cloud CLI 手动升级用户管理的笔记本实例。
控制台
gcloud
回滚升级
如需回滚升级,请完成以下步骤:
升级。