制品仓库

本地仓库

概述

本地仓库是用于存放用户上传的Docker镜像、Chart部署包的场所,用户可上传自己修改过的镜像、Chart部署包到本地仓库,或从本地仓库下载已上传的Docker镜像和Chart部署包。

创建本地仓库

ZStack Zaku主菜单,点击制品仓库 > 本地仓库。在本地仓库界面,点击创建仓库,弹出创建仓库界面。

可参考以下示例输入相应内容:
  • 名称:设置仓库名称。命名规则:长度限制2-50字符,只能包含小写字母、数字及特殊字符 (_) (-) (.),特殊字符不能用于开头或结尾且不能连续使用
  • 简介:可选项,备注仓库相关信息
  • 类型:设置仓库类型,支持公开和私有两种类型
    • 公开:公开类型的仓库不需要登录即可拉取镜像,平台所有用户都可以查看到该仓库
    • 私有:私有类型的仓库需要登录认证信息才可拉取镜像,只有管理和仓库所属项目的用户才可以查看到该仓库

管理本地仓库

ZStack Zaku主菜单,点击制品仓库 > 本地仓库,进入本地仓库界面。

本地仓库支持以下操作:
操作 描述
创建本地仓库 创建新仓库。
修改本地仓库 修改仓库的简介和类型。
重置密码 重置本地仓库的用户密码,用户可通过该密码,使用docker/nerdctl login命令登录该仓库。
Note:
  • 一个平台用户对应一个本地仓库用户,用户名由平台自动生成。
  • 首次使用,无登录密码场景下,可以使用重置密码来设置密码,重置密码无需验证旧密码。
本地仓库详情 进入本地仓库详情页,查看仓库基本信息和镜像导出记录,并集中管理仓库中的镜像和Chart部署包。
更改项目 更改本地仓库所属的项目。
Note: 更改项目后,原项目内成员将无法继续查看或管理该本地仓库和仓库中的资源。
删除仓库 将本地仓库删除。
Note: 删除本地仓库需要先删除仓库中的所有镜像和Chart部署包。

本地仓库详情

Docker镜像

上传镜像

在本地仓库详情页,点击镜像,进入镜像标签页,点击上传,弹出上传镜像界面。

支持以下三种镜像上传方式:
  • 在线上传
  • 文件上传
  • 命令上传

在线上传

可参考以下示例输入相应内容:
  • 上传方式:选择在线上传
  • 外部镜像地址:填写外部镜像URL地址。URL中如不包含镜像标签,系统将默认使用latest标签
  • 架构:选择镜像要上传的架构。可选 linux/arm64 和 linux/amd64 两种,支持多选。
    Note: 对于多架构的镜像,若只选择一种架构,则只有所选架构的 layer 会上传。
  • 用户名:填写镜像所属仓库的用户名,镜像存放在私有仓库时,需填写该参数以在拉取镜像时进行身份校验
  • 密码:填写用户名对应的密码,镜像存放在私有仓库时,需填写该参数以在拉取镜像时进行身份校验

文件上传

可参考以下示例输入相应内容:
  • 上传方式:选择文件上传
  • 镜像文件:选择要上传的镜像文件,仅支持上传容器管理工具导出的镜像压缩包
    Note: 用户可使用docker或nerdctl命令生成镜像压缩包,例如:
    # docker save -o $OUTPUT_FILENAME $IMAGE:$TAG
    # $OUTPUT_FILENAME指生成的压缩包文件名,$IMAGE:$TAG指要压缩的镜像和标签
    # 注:针对多架构镜像,该命令仅导出本地已拉取的单个架构(默认当前机器架构,多次拉取则取最后一次架构),不支持多架构导出。若需完整保留所有架构,请使用 nerdctl。
    # nerdctl save -o $OUTPUT_FILENAME $IMAGE:$TAG --platform $PLATFORM
    # $OUTPUT_FILENAME指生成的压缩包文件名,$IMAGE:$TAG指要压缩的镜像和标签
    # 注:多架构镜像可通过 --platform 参数指定架构,$PLATFORM 为具体的架构标识,如linux/amd64、linux/arm64,可使用逗号分隔指定多个架构。
  • 架构:选择镜像要上传的架构。可选 linux/arm64 和 linux/amd64 两种 , 支持多选。
    Note:
    • 对于多架构的镜像 , 若只选择一种架构 , 则只有所选架构的 layer 会上传。
    • 请确保镜像压缩包中的镜像有包含所选架构 , 否则将上传失败。

命令上传

命令上传是指通过docker或nerdctl命令将镜像从外部仓库推送到本地仓库,可参考以下步骤完成上传:
  1. 上传镜像界面,选择上传方式为命令上传,并选择命令类型。
  2. 复制界面下方提供的命令到可以连接外部仓库的终端,修改变量参数并执行命令,完成镜像上传。

下载和拉取镜像

下载镜像

用户可参考以下步骤,从本地仓库下载镜像使用:
  1. 在本地仓库详情页,进入镜像标签页,找到需要下载的镜像,点击操作 > 导出
  2. 进入本地镜像详情页镜像导出记录标签页,找到步骤1中导出的镜像,点击操作 > 下载,将镜像压缩包下载到本地。
    Note:
    • 导出的镜像需在24小时之内下载,否则导出记录将会失效,需重新导出。
    • 当短时间导出较多较大镜像时,可能导致存储空间占满,无法再导出镜像,则可先将已下载的导出镜像删除。
  3. (可选) 执行docker load命令将下载的镜像导入其他仓库使用,例如:
    # docker load -i $IMAGE.TAR
    # $IMAGE.TAR为镜像压缩包名称

拉取镜像

用户可参考以下步骤,拉取本地仓库中的镜像:
  1. 在本地仓库详情页,进入镜像标签页,找到需要下载的镜像,点击操作 > 拉取命令,查看镜像地址、用于登录仓库和拉取镜像的docker命令和nerdctl命令。
  2. 复制命令并用于需要拉取镜像的场景。

Chart部署包

上传Chart

在本地仓库详情页,点击Chart,进入Chart标签页,点击上传,弹出上传Chart界面。用户将本地Chart部署包上传到该界面即可,

发布应用

发布应用即将Chart部署包发布到集群,并部署一个应用实例,ZStack Zaku支持将本地仓库中的Chart一键发布。

在本地仓库详情页进入Chart标签页,找到需要发布的Chart,点击操作 > 发布,弹出发布应用界面。

可参考以下示例输入相应内容:
  • 应用名称:设置应用名称。长度限制2~20字符,输入内容只能包含小写字母、数字及分隔符 (-),且必须以小写字母开头,以小写字母或者数字结尾
  • 版本:设置应用版本
  • 简介:可选项,备注应用相关信息
  • 集群:选择应用所发布到的集群
  • 命名空间:选择应用所发布到的命名空间
  • Chart版本:选择Chart版本,默认为Chart列表中显示的版本
  • 应用配置:通过YAML方式修改部署包中values文件的内容。用户可点击修改内容,查看修改前后对比
Note: 应用发布后,可在ZStack Zaku主菜单,点击容器编排 > 应用管理 > 应用,进入应用界面,查看和管理该应用。

制品同步

概述

制品同步通过连接外部镜像服务,将容器镜像、Helm Chart 等 OCI 制品自动化同步至本地仓库,实现制品资产的统一管理。

制品同步包含以下两部分功能:
  • 外部镜像服务:作为同步的数据来源,需先添加外部镜像服务并配置访问信息,当前支持 Harbor 类型的镜像服务。
  • 同步任务:定义从哪个外部镜像服务同步哪些资源到哪个本地仓库,支持手动或定时触发。

添加外部镜像服务

ZStack Zaku主菜单,点击制品仓库 > 制品同步,进入制品同步界面。点击外部镜像服务,进入外部镜像服务标签页,点击添加外部镜像服务,进入添加外部镜像服务界面。

可参考以下示例输入相应内容:
  • 名称:设置外部镜像服务的名称。命名规则:长度限制1~64字符,只能包含中文汉字、英文字母、数字和以下7种英文字符"-"、"_"、"."、"("、")"、":"、"+",名称全平台唯一
  • 简介:可选项,备注相关信息,长度限制128字符
  • 类型:外部镜像服务的类型,当前固定为Harbor
  • 服务URL:填写外部镜像服务的访问地址,必须以http://或https://开头,如:https://192.168.1.1:1003
  • 访问账号:填写访问外部镜像服务使用的账号
  • 访问凭证:填写访问外部镜像服务使用的密码或凭证
  • HTTPS证书验证:选择是否校验外部镜像服务的HTTPS证书,默认关闭
Note: 保存时系统将测试与外部镜像服务的连接,如连接失败,请检查服务URL、访问账号、访问凭证、HTTPS证书验证是否配置正确。

管理外部镜像服务

ZStack Zaku主菜单,点击制品仓库 > 制品同步,进入制品同步界面。点击外部镜像服务,进入外部镜像服务标签页。

外部镜像服务支持以下操作:

操作 描述
添加外部镜像服务 添加一个新的外部镜像服务。
修改外部镜像服务 修改外部镜像服务的配置。
Note:
  • 除类型外,所有字段均可修改,保存时同样会测试连接。
  • 出于安全考虑,已保存的访问凭证不支持查看明文。
外部镜像服务详情 进入外部镜像服务详情页,查看外部镜像服务的基本信息,以及关联的同步任务列表。
删除外部镜像服务 将外部镜像服务删除。
Note: 存在关联同步任务的外部镜像服务不允许删除,请先删除关联的同步任务。

创建同步任务

ZStack Zaku主菜单,点击制品仓库 > 制品同步,进入制品同步界面。在同步任务标签页,点击创建同步任务,进入创建同步任务界面。

可参考以下示例输入相应内容:
  • 名称:设置同步任务的名称。命名规则:长度限制2-128字符,只能包含小写字母、数字及分隔符"_"、"-"、".",分隔符不能在首位或末位,名称全平台唯一
  • 简介:可选项,备注相关信息,长度限制128字符
  • 同步方式:当前固定为从外部同步到本地,即从外部镜像服务拉取资源到本地仓库
  • 同步资源类型:选择要同步的资源类型,默认为全部
    • 全部:同步仓库内的所有资源,包含容器镜像、Helm Chart 应用包,以及各类 OCI 规范制品(如多架构索引 Index、镜像签名、SBOM 软件账单等)
    • 镜像:仅同步容器镜像的基本层数据
    • 其他OCI制品(不含Chart):仅同步镜像外的标准 OCI 规范制品(如 Cosign 签名文件、独立的大模型权重制品等),不包含Helm Chart
    Note: 建议选择全部。若选择其他选项,可能导致Helm Chart 应用包、多架构路由、镜像签名及安全审计信息丢失,进而引发应用部署失败,通常仅 AI/大模型等需规避超大文件传输的特殊场景需调整。
  • 源镜像服务:从抽屉中选择作为同步来源的外部镜像服务。若当前项目还没有外部镜像服务,可点击去创建先添加外部镜像服务
  • 本地目标仓库:选择同步的目标本地仓库,可选项为当前项目下的所有本地仓库
  • 同步资源筛选条件:设置从外部镜像服务同步资源的筛选条件,满足条件的资源才会被同步
    • 外部仓库名称:指定外部资源的顶级路径空间(如 Harbor 的项目名)。支持填写多个,以英文逗号隔开
    • 镜像/制品名称:指定要匹配的资源名称,留空时默认匹配所有
    • 标签:指定要匹配的资源标签,留空时默认匹配所有
    Note:
    • 镜像/制品名称与标签支持通配符规则:"*"匹配任意字符(不包含路径斜杠/);"**"匹配任意字符(包含路径斜杠/);"?"匹配单个任意字符;"{alt1,alt2}"匹配大括号内的任意一个选项。
    • 标签过滤主要对镜像和 Chart 生效,对部分不携带传统标签的特殊 OCI 制品可能失效,存在此类制品时建议将标签保持留空。
  • 覆盖同名资源:默认关闭。当目标仓库已存在同名同标签的资源时,若源端内容有更新,开启此项将强制覆盖目标端;关闭则直接跳过同步
  • 触发方式:选择同步任务的触发方式,可选手动定时,默认为手动。选择定时时,需设置定时规则,执行频率支持天、周、月、自定义四种,自定义方式需填写合法的cron表达式
    Note: 自定义crontab规则基于 UTC 时间。如输入 0 0 3 * * ?,表示每天 UTC 03:00 自动触发同步。
  • 最大带宽限制:设置本同步任务允许的最大传输速率,单位可选Kbps、Mbps,默认为-1,即不限制

管理同步任务

ZStack Zaku主菜单,点击制品仓库 > 制品同步,进入制品同步界面,默认进入同步任务标签页。

同步任务支持以下操作:

操作 描述
创建同步任务 创建一个新的同步任务。
执行 按照当前配置,立即触发一次同步。
Note: 停用状态的任务不能执行。
修改同步任务 修改同步任务的配置。
Note:
  • 除同步方式外,所有字段均可修改。
  • 修改后仅对下次执行生效,不影响当前正在进行的同步。
启用 启用同步任务。启用后,如触发方式为定时,系统将按既定规则自动运行。
停用 停用同步任务。停用后,定时规则将失效,系统不再自动同步。
Note: 停用时正在执行中的同步将继续运行,不会强行中止。
同步任务详情 进入同步任务详情页,查看同步任务的基本信息、同步资源筛选条件,以及执行记录。
删除同步任务 将同步任务删除。
Note: 存在正在进行中的执行记录的同步任务不允许删除。

同步任务详情

同步任务标签页,点击同步任务名称,进入同步任务详情页:
  • 总览:查看同步任务的基本信息和同步资源筛选条件。点击本地目标仓库可跳转对应本地仓库的详情页,点击源镜像服务可跳转对应外部镜像服务的详情页。
  • 执行记录:查看同步任务的所有执行记录,包括状态、成功百分比、资源总数、开始/结束时间、触发方式。执行记录的状态包括:进行中、成功、失败、已停止。对进行中的记录可执行停止执行操作。
    Note: 停止执行将终止当前同步且无法恢复,如需再次同步请重新触发同步任务。
  • 执行记录详情:点击执行记录的ID,进入执行记录详情页,查看该次执行的资源概览(总数及各状态的资源数量)和每条资源的同步明细(源、目标、状态、开始/结束时间),并可点击查看日志查看单条资源的同步日志。

模板仓库

概述

模板仓库用于存放用户编写的YAML模板,并提供Deployment、Statefulset、Service、Configmap、PersistentVolumeClaim等十几种常见Kubernetes资源的示例模板参考。用户可在模板仓库中结合示例模板快速编写所需要的YAML文本。

创建模板

ZStack Zaku主菜单,点击制品仓库 > 模板仓库,进入模板仓库界面。点击创建模板,弹出创建模板界面。

可参考以下示例输入相应内容:
  • 名称:设置模板名称。命名规则:长度限制2-50个字符,输入内容只能包含小写字母、数字及分隔符 (-),分隔符不能用于名称开头或结尾
  • 简介:可选项,备注模板相关信息
  • 示例模板:选择Deployment、Statefulset、Service、Configmap、PersistentVolumeClaim等常见资源示例模板,或自定义模板
  • 模板内容:选择常见的资源示例模板时,可在YAML示例基础上进行修改;选择自定义模板时,可自行填写YAML内容。支持填写多个资源YAML,并用 (---) 分隔

管理模板

ZStack Zaku主菜单,点击制品仓库 > 模板仓库,进入模板仓库界面。

模板仓库支持以下操作:
操作 描述
创建模板 通过示例模板创建模板,或创建自定义模板。
修改模板 修改模板的简介和内容。
更改项目 更改模板所属项目。
Note: 更改后,原项目内成员将无法继续查看和管理该模板
删除模板 将模板删除。

应用市场

概述

应用市场提供了 nfs、nginx、nginx-ingress-controller 等官方Chart部署包,可一键发布到集群,部署为应用实例。

发布应用

发布应用即将Chart部署包发布到集群,并部署一个应用实例,ZStack Zaku支持将应用市场中的Chart包一键发布。

可参考以下示例输入相应内容:
  • 应用名称:设置应用名称。长度限制2~20字符,输入内容只能包含小写字母、数字及分隔符 (-),且必须以小写字母开头,以小写字母或者数字结尾
  • 版本:设置应用版本
  • 简介:可选项,备注应用相关信息
  • 集群:选择应用所发布到的集群
  • 命名空间:选择应用所发布到的命名空间
  • Chart版本:展示默认的Chart版本,目前不支持修改
  • 应用配置:修改部署包中values文件的配置内容,支持表单编辑YAML编辑两种修改方式。用户可点击修改内容查看修改前后对比
    • 表单编辑:针对常用配置提供可视化修改方式,主要用于较为简单的配置修改。
    • YAML编辑:在YAML编辑器中修改应用YAML,主要用于较为复杂的配置修改。
Note: 应用发布后,可在ZStack Zaku主菜单,点击容器编排 > 应用管理 > 应用,进入应用界面,查看和管理该应用。
用户手册 | ZStack Zaku · ZCF | ZStack 资源中心