当前位置: 首页 > article >正文

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

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

文章目录

  • 查看可用 Notebook 镜像
    • 控制台查看
    • 命令行查看
  • Notebook 镜像、Image Stream 和 Image Registry Repository 对应关系
  • 启用老版本的 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 和 Image Registry Repository 对应关系

Notebook 镜像名称Image Stream 名称Image Registry Repository说明
Minimal Pythons2i-minimal-notebookquay.io/modh/odh-pytorch-notebook只提供基础 Python 运行环境,不提供任何附加包
Standard Data Sciences2i-generic-data-science-notebookquay.io/modh/odh-generic-data-science-notebook提供常用的科学计算包,但不提供 TensorFlow 或 PyTorch
CUDAminimal-gpuquay.io/modh/cuda-notebooks使用 GPU 加速库和优化工具来优化工作
PyTorchpytorchquay.io/modh/odh-pytorch-notebook利用 PyTorch 构建、训练和部署机器学习模型
TensorFlowtensorflowquay.io/modh/cuda-notebooks利用 TensorFlow 构建、训练和部署机器学习模型
TrustyAIodh-trustyai-notebookquay.io/modh/odh-trustyai-notebook利用 TrustyAI 构建、训练和部署机器学习模型
ROCmjupyter-rocm-minimalquay.io/modh/rocm-notebooks使用 AMD GPU 运行通用的 ML 工作负载
ROCm-PyTorchjupyter-rocm-pytorchquay.io/modh/rocm-notebooks使用 AMD GPU 运行基于 PyTorch 的 ML 工作负载
ROCm-TensorFlowjupyter-rocm-tensorflowquay.io/modh/rocm-notebook使用 AMD GPU 运行通基于 TensorFlow 的工作负载
code-servercode-server-notebookquay.io/modh/codeserver使用基于 VScode 的IDE

启用老版本的 Notebook 镜像

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

注意

  1. 被恢复启用的老版本 Notebook 镜像因为已经超过 RedHat 支持的生命周期,因此即便有 Bug,也得不到官方支持。
  2. 当 OpenShift 集群被重启后,被恢复启用的老版本 Notebook 镜像会再次被重置为隐藏状态。

参考

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

相关文章:

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

《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在 OpenShift 4.18 OpenShift AI 2.19 的环境中验证 文章目录 查看可用 Notebook 镜像控制台查看命令行查看 Notebook 镜像、Image Stream 和 Image Registry Repository 对应关系启用老版本的 Notebook 镜…...

Redis 缓存穿透、缓存击穿、缓存雪崩详解与解决方案

在分布式系统中,Redis 凭借高性能和高并发处理能力,成为常用的缓存组件。然而,在实际应用中,缓存穿透、缓存击穿、缓存雪崩这三大问题会严重影响系统的性能与稳定性。本文将详细解析这三个问题的成因,并提供对应的解决…...

sass高阶应用

Sass(尤其是 SCSS 语法)除了基础功能外,还提供了许多高级特性,可以实现更灵活、可维护的样式系统。以下是 Sass 的 高级语法和应用技巧,适合中大型项目或组件库开发。 文章目录 一、控制指令(Control Directives)1. `@if / @else`2. `@for` 循环3. `@each` 遍历列表/Map…...

docker docker-ce docker.io

Ubuntu安装 ​​更新软件包列表​​ 首先确保软件包列表是最新的: sudo apt-get update 使用正确的卸载命令​​ 替换 docker-engine 为 docker-ce 或 docker.io: sudo apt-get remove docker docker-ce docker.io containerd runc ​​检查已安装的 Do…...

DQN和DDQN(进阶版)

来源: *《第五章 深度强化学习 Q网络》.ppt --周炜星、谢文杰 一、前言 Q表格、Q网络与策略函数 Q表格是有限的离散的,而神经网络可以是无限的。 对于动作有限的智能体来说,使用Q网络获得当下状态的对于每个动作的 状态-动作值 。那么 a…...

【组件】翻牌器效果

目录 效果组件代码背景素材 效果 组件代码 <template><divclass"card-flop":style"{height: typeof height number ? ${height}px : height,--box-width: typeof boxWidth number ? ${boxWidth}px : boxWidth,--box-height: typeof boxHeight nu…...

CentOS 7 环境中部署 LNMP(Linux + Nginx + MySQL 5.7 + PHP)

在 CentOS 7 环境中部署 LNMP&#xff08;Linux Nginx MySQL 5.7 PHP&#xff09; 环境的详细步骤如下。此方案确保各组件版本兼容&#xff0c;并提供完整的配置验证流程。 1. 更新系统 sudo yum update -y 2. 安装 MySQL 5.7 2.1 添加 MySQL 官方 YUM 仓库 由于MySQL并不…...

NX811NX816美光颗粒固态NX840NX845

NX811NX816美光颗粒固态NX840NX845 美光NX系列固态硬盘颗粒深度解析&#xff1a;技术、性能与市场全景透视 一、技术架构与核心特性解析 1. NX811/NX816&#xff1a;入门级市场的平衡之选 技术定位&#xff1a;基于176层TLC&#xff08;Triple-Level Cell&#xff09;3D NAN…...

捋捋wireshark

本猿搬砖时会用到wireshark分析pcap包&#xff0c;但频率不高&#xff0c;记过一些笔记&#xff0c;今天捋捋&#xff0c;希望能给初学者节省一点时间。 wireshark是个网络封包分析软件&#xff08;network packet analyzer&#xff09;&#xff0c;可以用来抓流量包&#xff…...

c++学习之---模版

目录 一、函数模板&#xff1a; 1、基本定义格式&#xff1a; 2、模版函数的优先匹配原则&#xff1a; 二、类模板&#xff1a; 1、基本定义格式&#xff1a; 2、类模版的优先匹配原则&#xff08;有坑哦&#xff09;&#xff1a; 3、缺省值的设置&#xff1a; 4、ty…...

MyBatis-Flex 全面指南:下一代轻量级持久层框架实战入门

&#x1f680; MyBatis-Flex 全面指南&#xff1a;下一代轻量级持久层框架实战入门 本文将带你全面了解 MyBatis-Flex 的特性、常见用法、最佳实践&#xff0c;帮助你高效构建更简洁、更灵活的 Java 持久层代码。 &#x1f9e9; 什么是 MyBatis-Flex&#xff1f; MyBatis-Flex…...

第十六章 EMQX黑名单与连接抖动检测

系列文章目录 第一章 总体概述 第二章 在实体机上安装ubuntu 第三章 Windows远程连接ubuntu 第四章 使用Docker安装和运行EMQX 第五章 Docker卸载EMQX 第六章 EMQX客户端MQTTX Desktop的安装与使用 第七章 EMQX客户端MQTTX CLI的安装与使用 第八章 Wireshark工具的安装与使用 …...

WebSphere(WAS)

WebSphere &#xff08;WebSphere Application Server&#xff09;为 SOA 环境提供软件&#xff0c;以实现动态的、互联的业务流程&#xff0c;为所有业务情形提供高度有效的应用程序基础架构。WebSphere 是 IBM 的应用程序和集成软件平台&#xff0c;包含所有必要的中间件基础…...

新编辑器编写指南--给自己的备忘

欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…...

xPSR

在 ARM Cortex-M3 中&#xff0c;​xPSR&#xff08;组合程序状态寄存器&#xff09;​​ 是核心的状态控制寄存器&#xff0c;由三个子状态寄存器合并而成&#xff0c;用于记录处理器的运算状态、中断状态和执行环境。以下是其深度解析&#xff1a; &#x1f50d; ​一、xPSR …...

鸿蒙网络数据传输案例实战

一、案例效果截图 二、案例运用到的知识点 核心知识点 网络连接管理&#xff1a;connection模块HTTP数据请求&#xff1a;http模块RPC数据请求&#xff1a;rcp模块文件管理能力&#xff1a;fileIo模块、fileUri模块 其他知识点 ArkTS 语言基础V2版状态管理&#xff1a;Comp…...

【JavaEE】-- 网络原理

文章目录 1. 网络发展史1.1 广域网1.2 局域网 2. 网络通信基础2.1 IP地址2.2 端口号2.3 认识协议2.4 五元组2.5 协议分层2.5.1 分层的作用2.5.2 OSI七层模型&#xff08;教科书&#xff09;2.5.3 TCP/IP五层&#xff08;或四层&#xff09;模型&#xff08;工业中常用&#xff…...

1.RV1126-OPENCV 交叉编译

一.下载opencv-3.4.16.zip到自己想装的目录下 二.解压并且打开 opencv 目录 先用 unzip opencv-3.4.16.zip 来解压 opencv 的压缩包&#xff0c;并且进入 opencv 目录(cd opencv-3.4.16) 三. 修改 opencv 的 cmake 脚本的内容 先 cd platforms/linux 然后修改 arm-gnueabi.to…...

PySide6 GUI 学习笔记——常用类及控件使用方法(标签控件QLabel)

文章目录 标签控件QLabel及其应用举例标签控件QLabel的常用方法及信号应用举例Python 代码示例1Python 代码示例2 小结 标签控件QLabel及其应用举例 QLabel 是 PySide6.QtWidgets 模块中的一个控件&#xff0c;用于在界面上显示文本或图像。它常用于作为标签、提示信息或图片展…...

CSS (mask)实现服装动态换色:创意与技术的完美融合

在网页开发中&#xff0c;我们常常会遇到需要对图片元素进行个性化处理的需求&#xff0c;比如改变图片中特定部分的颜色。今天&#xff0c;我们就来探讨一种通过 CSS 和 JavaScript 结合&#xff0c;实现服装动态换色的有趣方法。 一、代码整体结构分析 上述代码构建了一个完…...

基于51单片机的音乐盒汽车喇叭调音量proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1l3CSSMi4uMV5-XLefnKoSg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C51 是一款常用的 8 位单片机&#xff0c;由 Atmel 公司&#xff08;现已被 Microchip 收…...

彻底理解Spring三级缓存机制

文章目录 前言一、Spring解决循环依赖时&#xff0c;为什么要使用三级缓存&#xff1f; 前言 Spring解决循环依赖的手段&#xff0c;是通过三级缓存&#xff1a; singletonObjects&#xff1a;存放所有生命周期完整的单例对象。&#xff08;一级缓存&#xff09;earlySingleto…...

MacOs 安装局域网 gitlab 记录

1、安装git brew install git > Downloading https://homebrew.bintray.com/bottles/git-2.7.0.el_capitan.bottle ######################################################################## 100.0% > Pouring git-2.7.0.el_capitan.bottle.tar.gz > Caveats The O…...

Flutter 与 Android 原生布局组件对照表(完整版)

本对照表用于帮助 Android 开发者快速理解 Flutter 中的布局组件与原生布局的关系。 &#x1f4d8; Flutter ↔ Android 布局组件对照表 Flutter WidgetAndroid View/Layout说明ContainerFrameLayout / View通用容器&#xff0c;可设置背景、边距、对齐等RowLinearLayout (hor…...

【产品经理从0到1】自媒体端产品设计

后台的定义 “后台” 与“前台”都是相对独立的平台&#xff0c;前台是服务于互联网用户的平台 &#xff0c;后台主要是支撑前台页面内容、数据及对前台业务情况的统计分析的系统&#xff1b; 后台与前台的区别 第1&#xff1a;使用用户不同 前台用户&#xff1a;互联网用户…...

017搜索之深度优先DFS——算法备赛

深度优先搜索 如果说广度优先搜索是逐层扩散&#xff0c;那深度优先搜索就是一条道走到黑。 深度优先遍历是用递归实现的&#xff0c;预定一条顺序规则&#xff08;如上下左右顺序&#xff09; &#xff0c;一直往第一个方向搜索直到走到尽头或不满足要求后返回上一个叉路口按…...

解决 maven编译项目-Fatal error compiling: 无效的目标发行版: 21 -> [Help 1]

目录 1. 问题描述 2. 排查思路 3. 设置-指定maven使用jdk21 4. 参考资料 1. 问题描述 在idea中使用maven编译时,在系统环境变量中已经设置了jdk为21,但是在执行mvn package时,确提示 Fatal error compiling: 无效的目标发行版: 21 -> [Help 1] [ERROR] Failed to e…...

Thinkphp6实现websocket

项目需要连接一台自动售货机&#xff0c;售货机要求两边用websocket连接,监听9997端口。本文实现了一个基于PHP的WebSocket服务器&#xff0c;用于连接自动售货机&#xff0c;支持start/stop/restart命令操作 1.新建文件 新建文件 /command/socket.php <?php namespace a…...

web-css

一.CSS选择器&#xff1a; 1.基础选择器 基本选择器&#xff1a; >.标签选择器 格式&#xff1a;标签名称{} >.类选择器&#xff08;重&#xff09; 格式&#xff1a;.class属性的值{} >.id选择器 格式&#xff1a;#id属性的值{} >.通配符&#xff08;表示所有&am…...

关于 smali:2. 从 Java 到 Smali 的映射

一、对照 Java 代码与 Smali 代码差异 1.1 方法调用差异&#xff1a;Java vs Smali Java 方法分类&#xff1a; 方法类型Java 示例Smali 指令特点说明静态方法Utils.print("hi")invoke-static没有 this 指针实例方法obj.show()invoke-virtual有 this&#xff0c;虚…...