第 2 章 创建自定义工作台镜像
Red Hat OpenShift AI 包括了一个默认的工作台镜像,数据科学家可在创建或编辑工作台时选择它们。
另外,您可以导入自定义工作台镜像,例如,如果要添加数据科学家通常使用的库,或者您的数据科学家需要与默认镜像中提供的版本不同的库。如果您的数据科学家需要操作系统软件包或应用程序,所以自定义工作台镜像也很有用,因为它们无法直接在其运行的环境中安装它们(数据科学家用户没有 root 访问权限,这对于这些操作需要这些访问权限)。
自定义工作台镜像只是一个容器镜像。您可以使用 Containerfile (或 Dockerfile)构建任何标准容器镜像时之一。您可以从现有镜像( FROM
指令)启动,然后添加所需的元素。
您有以下选项来创建自定义工作台镜像:
- 从默认镜像之一开始,如 从默认的 OpenShift AI 镜像创建自定义镜像 中所述。
- 按照与 OpenShift AI 兼容的指南创建自己的镜像,如从 您自己的镜像创建自定义镜像 中所述。
红帽支持在 OpenShift AI 部署中添加自定义工作台镜像,确保在创建工作台时可以选择它们。但是,红帽不支持您的自定义工作台镜像的内容。也就是说,如果您的自定义工作台镜像可以在工作台创建过程中选择,但没有创建可用的工作台,红帽不提供支持修复您的自定义工作台镜像。
其他资源
如需 OpenShift AI 默认工作台镜像及其预安装软件包的列表,请参阅 支持的配置。
有关创建镜像的更多信息,请参阅以下资源:
2.1. 从默认的 OpenShift AI 镜像创建自定义镜像 复制链接链接已复制到粘贴板!
在集群中安装 Red Hat OpenShift AI 后,您可以在 OpenShift 控制台中找到默认的工作台镜像,在 redhat-ods-applications
项目的 Builds
您可以通过将 OS 软件包或应用程序添加到默认的 OpenShift AI 镜像来创建自定义镜像。
先决条件
您知道您要用作自定义镜像基础的默认镜像。
重要如果要创建自定义兼容 Elyra 的镜像,则基础镜像必须是包含 Elyra 扩展的 OpenShift AI 镜像。
如需了解 OpenShift AI 默认工作台镜像及其预安装的软件包列表,请参阅 支持的配置。
-
对于安装了 OpenShift AI 的集群,具有
cluster-admin
访问权限。
流程
获取您要用作自定义镜像基础的默认镜像的位置。
-
在 OpenShift 控制台中,选择 Builds
ImageStreams。 - 选择 redhat-ods-applications 项目。
- 从安装的镜像流列表中,点击您要用作自定义镜像基础的镜像名称。例如,单击 pytorch。
- 在 ImageStream 详情页面中,单击 YAML。
在
spec:tags
部分中,查找您要使用的镜像版本的标签。原始镜像的位置显示在标签的
from:name
部分中,例如:name: 'quay.io/modh/odh-pytorch-notebook@sha256:b68e0192abf7d…'
- 复制这个位置,以便在您的自定义镜像中使用。
-
在 OpenShift 控制台中,选择 Builds
- 创建标准 Containerfile 或 Dockerfile。
对于
FROM
指令,指定在第 1 步中复制的基础镜像位置,例如:FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0…
可选:安装 OS 镜像:
-
切换到
USER 0
(需要USER 0 来安装操作系统软件包)。 - 安装软件包。
切回到
USER 1001
。以下示例创建一个将 Java 添加到默认 PyTorch 镜像的自定义工作台镜像:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
切换到
可选:添加 Python 软件包:
-
指定
USER 1001
。 -
复制
requirements.txt
文件。 安装软件包。
以下示例在默认的 PyTorch 镜像中从
requirements.txt
文件安装软件包:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
指定
构建 镜像文件。例如,您可以在镜像文件本地使用
podman build
,然后将镜像推送到 OpenShift AI 可访问的 registry 中:podman build -t my-registry/my-custom-image:0.0.1 . podman push my-registry/my-custom-image:0.0.1
$ podman build -t my-registry/my-custom-image:0.0.1 . $ podman push my-registry/my-custom-image:0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以使用 BuildConfig 来利用 OpenShift 的镜像构建功能。