跳转到主要内容
Siflow 将提供专用的镜像仓库,使用户能够在平台上享受集成、高性能的镜像使用体验。 对于在 Siflow 注册的租户,平台将自动创建一个以租户命名的镜像仓库项目。该租户的所有镜像都将存储在该项目下。每个租户的镜像仓库存储容量有限。

预置镜像

NVIDIA Nemo

NVIDIA NeMo™ 是一个端到端平台,可随时随地开发自定义生成式 AI 模型。NVIDIA NeMo 框架专为企业级开发而设计,它利用 NVIDIA 最先进的技术,从自动化分布式数据处理,到使用复杂的 3D 并行技术训练大规模定制模型,最终使用检索增强生成在您选择的基础设施(无论是本地还是云端)上进行大规模推理,从而实现完整的工作流程。 对于将业务运行在 AI 之上的企业,NVIDIA AI Enterprise 提供了一个生产级、安全、端到端的软件平台,其中包括 NeMo 以及生成式 AI 参考应用程序和企业支持,以简化采用流程。现在,各组织可以将 AI 集成到其运营中,简化流程、增强决策能力,并最终创造更大的价值。

构建自定义镜像

当预配置镜像无法满足您的需求时,您可以在平台内按需构建自定义镜像。每个镜像可以包含多个镜像版本。

镜像管理规范

  1. 镜像 URL 必须遵循以下格式规范:<harbor_url>/<project_name>/<name>:<version>-<commit_id>
    1. harbor_url:由平台根据用户选择的地域进行配置,不可修改
    2. project_name:由平台配置,默认为租户名称,不可修改
    3. name:镜像名称
    4. version:镜像版本
    5. commit_id:镜像标签
  2. 为节省镜像仓库空间,同名同版本的镜像最多可以有 3 个标签版本
  3. 在开发环境、任务训练和模型服务等模块中选择镜像时,仅允许基于 name + version 进行选择,默认选择最近提交的标签

自定义镜像基本信息配置

参数名称是否必填参数说明
Region资源所在的地域
Cluster资源所在的集群
Name设置镜像名称,支持 2 到 64 个可见字符,仅包含小写字母、数字、连字符和下划线。不能以连字符或下划线开头或结尾,且不允许空格、冒号、@ 等
Version设置镜像版本以启用同一镜像的多版本管理。
支持 1 到 64 个可见字符,包括字母、数字、连字符和下划线。不支持以连字符或句点开头,不支持空格、冒号、斜杠、@ 或其他特殊符号
CommitID设置镜像 CommitID 以启用同一镜像版本的迭代升级。
建议使用代码仓库提交 ID 的前 8 个字符作为 CommitID。
支持 1 到 64 个可见字符,包括字母、数字、连字符和下划线。不支持以连字符或句点开头,不支持空格、冒号、斜杠、@ 或其他特殊符号
Class设置镜像类别,如 pytorch、base、python、LLM 等,以对镜像进行分类管理
Size设置镜像大小
Description镜像内容详情的描述

基于已有镜像

以下介绍如何通过安装额外的依赖项,基于预配置镜像构建新的自定义镜像。基于自定义镜像、平台内置镜像或公网镜像构建新镜像的步骤类似。
  1. 在 [自定义镜像] 创建页面,选择 Based on an existing imagePreset
image
  1. 基于该基础镜像选择不同的安装方式和具体的依赖版本。例如,如果您想在基础镜像中安装 vim,请选择 apt 安装方式,并在相应的输入框中输入 “vim”。如果您希望安装 Python3 相关的依赖包,请选择 pip3 并输入相应的包名和版本。
  • pip2 和 pip3 分别对应 Python2 和 Python3 依赖的安装方式,通常不会同时安装
  • apt 和 yum 分别是 Ubuntu 和 CentOS 依赖的包安装方式,通常不会同时安装
image 您也可以通过命令 upload xx.txt 导入 apt 和 pip 所需的信息。 image 其中,apt.txt 和 pip.txt 是 txt 格式的文本文件,内容格式如下:
  • apt.txt
python3=3.8.2-0ubuntu2
python3-pip=20.0.2-5ubuntu1.11
curl=7.68.0-1ubuntu2.25
wget=1.20.3-1ubuntu2.1
  • pip.txt
requests==2.31.0
flask==2.3.3
  1. 完成基础镜像和依赖项的配置后,提交表单即可开始构建自定义镜像

基于 Dockerfile

Dockerfile 是用于构建镜像的文本文件,包含一系列镜像构建指令。有关 Dockerfile 语法的详细信息,请参阅其官方文档。用户只需在自定义镜像创建页面选择 “Based on Dockerfile”,并按照规范编写 Dockerfile,即可触发自定义镜像构建。以下是一个 Dockerfile 示例:
FROM ubuntu:18.04

RUN apt-get update && apt-get install -y --no-install-recommends \
        python3-pip \
        vim && \
        apt-get clean && \
        rm -rf /var/lib/apt/lists/*

RUN pip3 install\
        numpy==1.19.5 \
        scipy==1.5.4

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
构建参数:构建镜像时,如果您需要动态传递参数以在构建过程中使用(将其注入到 Dockerfile 中) 如果您需要使用 apt 或 pip 安装相应的组件,可以直接在 Dockerfile 中使用命令进行安装,也可以通过 txt 文件添加。添加后,将返回相应的命令;只需复制并粘贴到 Dockerfile 中的适当位置即可 注意: 当前不支持将内容复制到您的共享目录中 image

从第三方库导入

支持将官方公共镜像仓库和云服务商镜像仓库中的公共镜像同步到 Siflow 的镜像仓库。 image

导入已有镜像

如果某个镜像不是使用平台构建的——例如直接使用 Docker 构建并推送到镜像仓库——那么它将无法在平台内被选择。在这种情况下,可以使用此方法将镜像注册到平台,以便在其他功能中更方便地使用 image

镜像

image 支持按名称和类别快速搜索。
  • Name:支持按名称和版本进行模糊搜索。
  • Class:用户在注册时定义的自定义镜像类别
参数名称参数说明
Name镜像名称
Version镜像版本
Size镜像大小(仅在构建成功时显示)
Description镜像详情
Authorized可以查看该镜像的用户(管理员可以查看租户下的所有镜像)
Images Url镜像 URL(仅在构建成功后显示);跨多个集群部署时,显示每个集群的镜像 URL
Show Clusters已上线的集群
No Show Clusters未上线的集群
Build Status构建状态,包括 Succeeded、Terminated、Waiting 和 Error 等状态
Task Message构建信息将显示构建的关键节点详情
Scheduled Message调度信息,创建镜像任务的调度信息
Created At镜像创建时间
Updated At镜像修改时间

镜像详情

image 点击 Build Config 查看构建详情,包括基础镜像信息、构建参数、Dockerfile、组件等详细信息 image

镜像构建日志

image 点击 Build Log 查看构建日志。如果构建失败,您可以查看具体错误原因等详细信息 image

镜像更新

image 点击 “Update Config” 修改镜像构建详情。只能修改 commitId、description 和构建参数;无法更改 name 和 version 等基本信息 修改后,镜像将根据新的构建参数和相关信息重新构建 image

镜像共享

image 点击 “Share” 将镜像权限共享给其他用户 管理时,您可以选择共享给特定用户或共享给所有组成员。当启用 “All Group Members” 时,当前租户内的所有用户都可以查看它 作为普通用户时,您只能共享给特定用户,而不能共享给整个组。如果该镜像已经共享给所有用户,普通用户则无法再次共享它

镜像删除

image 如果您是管理员,可以删除该镜像。如果您不是管理员,当镜像已共享给整个组或除您之外的其他用户时,则无法删除该镜像。只有当镜像仅授权给您本人使用时,普通用户才能删除该镜像,如下所示: image 注意: 此操作仅会移除该镜像在 siflow 平台上的可见性,但不会删除原始镜像数据。要删除镜像,请前往 [Console] — [Image Registry] 模块执行删除操作。

镜像部署/取消部署

管理员可以对所有镜像执行 Deploy/UnDeploy 操作,而普通用户只能操作自己创建的镜像。部署到特定集群时,前提是必须在 Harbor 中启用项目的自动同步机制,以便镜像信息能够同步到目标集群的镜像仓库。部署过程中,系统会验证镜像信息是否存在于目标集群的镜像仓库中;只有当镜像信息存在时,部署才会成功 image image 在列表页面,您可以查看在线和离线集群的信息 image