OpenShift AI - 启用过时版本的 Notebook 镜像

article/2025/8/4 21:27:30

《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 OpenShift 4.18 + OpenShift AI 2.19 的环境中验证

文章目录

  • 查看可用 Notebook 镜像
    • 控制台查看
    • 命令行查看
  • Notebook 镜像和 Image Stream 对应关系
  • 启用老版本的 Notebook 镜像
  • 参考

查看可用 Notebook 镜像

控制台查看

在 OpenShift AI 中可以在一个项目的 Workbench 中或者在 Applications -> Enabled 中通过选择特定的 Notebook Image 来运行 Notebook Server。下图中 OpenShift AI 内置的 Notebook Image 包含的软件配置可参见官方 《Red Hat OpenShift AI: Supported Configurations》中 “Supported workbench images” 小节的说明。
在这里插入图片描述
可看到当前 OpenShift AI 有 2 个可用的 TensFlow版本:2025.1 和 2024.2。点击版本右侧的图标,将显示该版本镜像中所含软件包的情况。RedHat 会每 6 个月对 Notebook 镜像升级一次,同时会淘汰过时的老版本镜像(后面将介绍如何启用老版本 Notebook 镜像)。
在这里插入图片描述

命令行查看

通过以下命令可以查看在 OpenShift AI 中可用的 Notebook 镜像。

$ oc get is -n redhat-ods-applications
NAME                                IMAGE REPOSITORY                                                                                             TAGS                                     UPDATED
code-server-notebook                image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/code-server-notebook                2023.2,2024.1,2024.2,2025.1              5 days ago
cuda-rhel9                          image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/cuda-rhel9
cuda-rstudio-rhel9                  image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/cuda-rstudio-rhel9
jupyter-rocm-minimal                image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/jupyter-rocm-minimal                2024.2,2025.1                            5 days ago
jupyter-rocm-pytorch                image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/jupyter-rocm-pytorch                2024.2,2025.1                            5 days ago
jupyter-rocm-tensorflow             image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/jupyter-rocm-tensorflow             2024.2,2025.1                            5 days ago
minimal-gpu                         image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/minimal-gpu                         1.2,2023.1,2023.2,2024.1,2024.2,2025.1   5 days ago
odh-trustyai-notebook               image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/odh-trustyai-notebook               2023.1,2023.2,2024.1,2024.2,2025.1       5 days ago
pytorch                             image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/pytorch                             1.2,2023.1,2023.2,2024.1,2024.2,2025.1   5 days ago
rstudio-rhel9                       image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/rstudio-rhel9
s2i-generic-data-science-notebook   image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-generic-data-science-notebook   1.2,2023.1,2023.2,2024.1,2024.2,2025.1   5 days ago
s2i-minimal-notebook                image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-minimal-notebook                1.2,2023.1,2023.2,2024.1,2024.2,2025.1   5 days ago
tensorflow                          image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/tensorflow                          1.2,2023.1,2023.2,2024.1,2024.2,2025.1   5 days ago

执行以下命令可查看上一步显示的名为 tensorflow 的 ImageStream 包含的信息,包括 Tag 和对应的镜像地址。在返回结果的 status 中可以看到 tensorflow 有哪些可用的 tag,可以看到除了在控制台中看到的 2025.1 和 2024.2 以外还有 2024.1、2023.2、2023.1、1.2。

$ oc get is -n redhat-ods-applications tensorflow -oyaml
。。。
status:dockerImageRepository: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/tensorflowtags:- items:- created: "2025-05-27T01:53:53Z"dockerImageReference: quay.io/modh/cuda-notebooks@sha256:6fadedc5a10f5a914bb7b27cd41bc644392e5757ceaf07d930db884112054265generation: 2image: sha256:6fadedc5a10f5a914bb7b27cd41bc644392e5757ceaf07d930db884112054265tag: "1.2"- items:- created: "2025-05-27T01:53:53Z"dockerImageReference: quay.io/modh/cuda-notebooks@sha256:88d80821ff8c5d53526794261d519125d0763b621d824f8c3222127dab7b6cc8generation: 2image: sha256:88d80821ff8c5d53526794261d519125d0763b621d824f8c3222127dab7b6cc8tag: "2023.1"- items:- created: "2025-05-27T01:53:53Z"dockerImageReference: quay.io/modh/cuda-notebooks@sha256:3da74d732d158b92eaada0a27fb7067fa18c8bde5033c672e23caed0f21d6481generation: 2image: sha256:3da74d732d158b92eaada0a27fb7067fa18c8bde5033c672e23caed0f21d6481tag: "2023.2"- items:- created: "2025-05-27T01:53:53Z"dockerImageReference: quay.io/modh/cuda-notebooks@sha256:0e57a0b756872636489ccd713dc9f00ad69d0c481a66ee0de97860f13b4fedcdgeneration: 2image: sha256:0e57a0b756872636489ccd713dc9f00ad69d0c481a66ee0de97860f13b4fedcdtag: "2024.1"- items:- created: "2025-05-27T01:53:53Z"dockerImageReference: quay.io/modh/cuda-notebooks@sha256:99d3fb964e635873214de4676c259a96c2ea25f3f79cc4bead5bc9f39aba34c0generation: 2image: sha256:99d3fb964e635873214de4676c259a96c2ea25f3f79cc4bead5bc9f39aba34c0tag: "2024.2"- items:- created: "2025-05-27T01:53:53Z"dockerImageReference: quay.io/modh/cuda-notebooks@sha256:3c7d3cb69cb311925afd67d05e54b0d34a2acd6990ff12a16bb3ee5cb8dbd265generation: 2image: sha256:3c7d3cb69cb311925afd67d05e54b0d34a2acd6990ff12a16bb3ee5cb8dbd265tag: "2025.1"
。。。

查看名为 tensorflow:2023.1 的 imagestreamtag 。其中可以从以下部分了解该 imagestreamtag 对应的镜像情况,例如 notebook-software,notebook-python-dependencies,依赖镜像 quay.io/modh/cuda-notebooks,其中 opendatahub.io/image-tag-outdated 为 true。

$ oc get imagestreamtag tensorflow:2023.1 -n redhat-ods-applications -oyaml
。。。
image:metadata:name: 'sha256:88d80821ff8c5d53526794261d519125d0763b621d824f8c3222127dab7b6cc8'uid: f90e20f0-84bb-4f1f-9841-896680f67436resourceVersion: '65395'creationTimestamp: '2025-05-27T01:53:53Z'annotations:image.openshift.io/dockerLayersOrder: ascendingopendatahub.io/image-tag-outdated: 'true'opendatahub.io/notebook-build-commit: 07015ecopendatahub.io/notebook-python-dependencies: |[{"name":"TensorFlow","version":"2.11"},{"name":"Tensorboard","version":"2.11"},{"name":"Boto3","version":"1.26"},{"name":"Kafka-Python","version":"2.0"},{"name":"Kfp-tekton","version":"1.5"},{"name":"Matplotlib","version":"3.6"},{"name":"Numpy","version":"1.24"},{"name":"Pandas","version":"1.5"},{"name":"Scikit-learn","version":"1.2"},{"name":"Scipy","version":"1.10"},{"name":"Elyra","version":"3.15"}]opendatahub.io/notebook-software: |[{"name":"CUDA","version":"11.8"},{"name":"Python","version":"v3.9"},{"name":"TensorFlow","version":"2.11"}]openshift.io/imported-from: quay.io/modh/cuda-notebooks
。。。

Notebook 镜像和 Image Stream 对应关系

OpenShift 的 Image Stream 和 OpenShift AI 的 Notebook 镜像对应关系如下:

Image Stream 名称Notebook Image 名称
s2i-minimal-notebookMinimal Python
s2i-generic-data-science-notebookStandard Data Science
minimal-gpuCUDA
pytorchPyTorch
tensorflowTensorFlow
odh-trustyai-notebookTrustyAI
code-server-notebookcode-server
jupyter-rocm-minimalROCm
jupyter-rocm-pytorchROCm-PyTorch
jupyter-rocm-tensorflowROCm-TensorFlow

启用老版本的 Notebook 镜像

  1. 编辑名为 tensorflow:2023.1 的 imagestreamtag 对象,删除包含 opendatahub.io/image-tag-outdated: "true"的 3 行,然后保存。
  2. 然后在 OpenShift AI 控制中可看到原来未显示的过时老版本 2023.1 被显示出来了。
    在这里插入图片描述

参考

https://access.redhat.com/articles/rhoai-supported-configs

https://ai-on-openshift.io/odh-rhoai/custom-notebooks/
https://github.com/opendatahub-io/notebooks/wiki/Workbenches
https://github.com/opendatahub-io/notebooks/wiki/Developer-Guide
https://github.com/opendatahub-io/notebooks/wiki/User-Guide

https://github.com/opendatahub-io/notebooks
https://github.com/opendatahub-io/notebooks/wiki/Workbenches

https://docs.redhat.com/en/documentation/red_hat_openshift_ai_self-managed/2.20/html/managing_openshift_ai/creating-custom-workbench-images
https://docs.redhat.com/en/documentation/red_hat_openshift_ai_self-managed/2.20/html/managing_openshift_ai/creating-custom-workbench-images#creating-a-custom-image-from-default-image_custom-images

https://github.com/opendatahub-io-contrib/workbench-images
https://github.com/opendatahub-io-contrib/workbench-images/releases
https://github.com/opendatahub-io-contrib/workbench-images/blob/main/DEVELOPMENT.md

https://quay.io/repository/opendatahub-contrib/workbench-images
https://quay.io/organization/modh


http://www.hkcw.cn/article/njkoYnuFsJ.shtml

相关文章

“人单酬“理念:财税行业的自我驱动革命

引言:当薪酬不再是"固定数字",而是"成长标尺" "为什么有人拼命工作却收入停滞?为什么企业总在人才流失中挣扎?"这些问题背后,往往隐藏着传统薪酬体系的僵化。而"人单酬"&…

yolo目标检测助手:具有模型预测、图像标注功能

在人工智能浪潮席卷各行各业的今天,计算机视觉模型(如 YOLO)已成为目标检测领域的标杆。然而,模型的强大能力需要直观的界面和便捷的工具才能充分发挥其演示、验证与迭代优化的价值。为此,我开发了一款基于 WPF 的桌面…

Spring Ai 从Demo到搭建套壳项目(一)初识与实现与deepseek对话模式

前言 为什么说Java长青,主要是因为其生态圈完善,Spring又做了一款脚手架,把对接各个LLM厂商的sdk做了一遍,形成一系列的spring-ai-starter-** 的依赖。 目前为止版本去到1.0.0.M6,golang跟不上了吧, Make …

机器学习实验七--SVM垃圾邮件分类器

SVM垃圾邮件分类器 一、什么是SVM二、实例:垃圾邮件分类器1.实验要求2.原理解释2.1 数据预处理流程2.2 特征提取方法2.3 SVM分类器 3.代码实现4.实验结果5.实验总结 一、什么是SVM 支持向量机(Support Vector Machine, SVM)是一种监督学习算法,主要用于…

lidar和imu的标定(一)Robust Real-time LiDAR-inertial Initialization

一、Robust Real-time LiDAR-inertial Initialization 看了这篇文章。在方法中,A和B都不细看了。主要看后边的几个部分。 C. LiDAR-inertial Initialization 在这一部分中, 1) Data Preprocess:主要是准备数据。 1.雷达里程计之后,可以得…

【手写系列】手写线程池

PS&#xff1a;本文的线程池为演示 Demo&#xff0c;皆在理解线程池的工作原理&#xff0c;并没有解决线程安全问题。 最简单一版的线程池 public class MyThreadPool {// 存放线程&#xff0c;复用已创建的线程List<Thread> threadList new ArrayList<>();publ…

Git企业级项目管理实战

目录 1. 准备工作 2. 添加成员 2.1 添加企业成员 2.2 添加项目成员 2.3 添加仓库开发人员 3. 开发场景 - 基于git flow模型的实践 3.1 新需求加入 3.2 修复测试环境 Bug 3.3 修改预发布环境Bug 3.4 修改正式环境 Bug 3.5 紧急修复正式环境 Bug 4. 拓展阅读 4.1 其…

go环境配置

下载对应版本的 go 版本 https://go.dev/dl/ 配置 vim ~/.zshrc export GOROOT/usr/local/go export PATH$PATH:$GOROOT/binsource ~/.zshrc >>>>>> go versiongoland 配置&#xff1a; &#x1f50d; 一、什么是GOPATH&#xff1f; GOPATH 是旧的项目结…

MySql(十二)

目录 MySql约束 1.添加主键约束 语法格式 1&#xff09;创建一个带主键的表 查看表结构 2&#xff09;创建表的时候指定主键名称 查看表结构 3&#xff09;创建一个表然后&#xff0c;然后再使用alter为列添加主键 查看表结构 4&#xff09;为表添加数据 1---正常数据 2---主键…

chrome.runtime.sendMessage 和 new FormData()

chrome.runtime.sendMessage 是Chrome扩展程序API中的一个方法&#xff0c;可用于背景脚本和内容脚本之间的消息传递。 new FormData() 提供了一种方便的方式来构建表单数据集。 在Chrome插件中&#xff0c;在 background.js 和 content.js 进行通信时使用了使用new FormData()…

数据结构-排序-排序的七种算法(2)

一&#xff0c;七种算法的介绍和比较 二&#xff0c;冒泡排序 原理&#xff1a;重复遍历列表&#xff0c;比较相邻元素&#xff0c;如果顺序错误就交换它们 时间复杂度&#xff1a; 最好&#xff1a;O(n)&#xff08;已有序时&#xff09; 平均&#xff1a;O(n) 最坏&#x…

【目标检测】backbone究竟有何关键作用?

backbone的核心在于能为检测提供若干种感受野大小和中心步长的组合&#xff0c;以满足对不同尺度和类别的目标检测。

JAVA实战开源项目:精简博客系统 (Vue+SpringBoot) 附源码

本文项目编号 T 215 &#xff0c;文末自助获取源码 \color{red}{T215&#xff0c;文末自助获取源码} T215&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

IO流1——体系介绍和字节输出流

什么是io流 io流分类 纯文本文件&#xff1a; windows自带的记事本打开能读懂的 经验证&#xff1a; word&#xff0c;excel不是&#xff0c; txt, md的是纯文本文件 &#xff01;&#xff01;&#xff01;&#xff01; 字节输出流 io流体系 抽象类不能直接创建他们的对象…

告别复杂操作!电脑极简风格计时使用

无论是工作、学习还是日常生活&#xff0c;这款小巧实用的计时工具都能成为你掌控时间的好帮手。特别适合需要频繁切换正计时、倒计时和查看当前时间的场景。界面简洁&#xff0c;操作便捷&#xff0c;助你高效管理每一刻。 这是一款免安装的工具&#xff0c;下载后可直接打开…

湖北理元理律师事务所:个人债务管理的温度与精度

湖北理元理律师事务所&#xff1a;个人债务管理的温度与精度 面对信用卡、网贷、医疗债等多重债务压力&#xff0c;普通人常陷入“拆东墙补西墙”的恶性循环。湖北理元理律师事务所通过计划集团公司服务平台&#xff0c;推出“有温度的债务优化计划”&#xff0c;其人性化设计…

启动你的RocketMQ之旅(七)-Store存储原理

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final。 &#x1f4dd;个人主页&#xff1a; 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;java专栏 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一…

无标注数据如何提升LLM推理能力?熵最小化 提升LLM自信度

熵最小化 提升LLM自信度 ——熵最小化(Entropy Minimization,EM),如何在不使用任何标注数据的情况下,提升大语言模型(LLMs)在数学、物理和编程等复杂推理任务上的表现。 1. 什么是熵最小化? 熵在机器学习中衡量模型输出的不确定性。熵越小,模型对输出越“自信”(概率…

[yolov11改进系列]基于yolov11引入多尺度空洞注意力MSDA的python源码+训练源码

【MSDA介绍】 本文提出了一种新颖的多尺度空洞 Transformer&#xff0c;简称DilateFormer&#xff0c;以用于视觉识别任务。原有的 ViT 模型在计算复杂性和感受野大小之间的权衡上存在矛盾。众所周知&#xff0c;ViT 模型使用全局注意力机制&#xff0c;能够在任意图像块之间建…

LCA(最近公共祖先)与树上差分

LCA&#xff1a; 我们先看一道例题洛谷p3379 这道题就是LCA的模板题 LCA大抵有三种方法处理&#xff0c;我们这里只讲两种 分别是Tarjan和倍增法&#xff0c;也分别是离线和在线算法 我们这里先讲Tarjan Tarjan&#xff1a; 一提到Tarjan这个名字&#xff0c;相信大家都…