制品仓库
本地仓库
概述
本地仓库是用于存放用户上传的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 会上传。
- 请确保镜像压缩包中的镜像有包含所选架构 , 否则将上传失败。
命令上传
- 在上传镜像界面,选择上传方式为命令上传,并选择命令类型。
- 复制界面下方提供的命令到可以连接外部仓库的终端,修改变量参数并执行命令,完成镜像上传。
下载和拉取镜像
下载镜像
- 在本地仓库详情页,进入镜像标签页,找到需要下载的镜像,点击。
- 进入本地镜像详情页镜像导出记录标签页,找到步骤1中导出的镜像,点击,将镜像压缩包下载到本地。Note:
- 导出的镜像需在24小时之内下载,否则导出记录将会失效,需重新导出。
- 当短时间导出较多较大镜像时,可能导致存储空间占满,无法再导出镜像,则可先将已下载的导出镜像删除。
- (可选) 执行
docker load命令将下载的镜像导入其他仓库使用,例如:# docker load -i $IMAGE.TAR # $IMAGE.TAR为镜像压缩包名称
拉取镜像
- 在本地仓库详情页,进入镜像标签页,找到需要下载的镜像,点击,查看镜像地址、用于登录仓库和拉取镜像的docker命令和nerdctl命令。
- 复制命令并用于需要拉取镜像的场景。
Chart部署包
上传Chart
在本地仓库详情页,点击Chart,进入Chart标签页,点击上传,弹出上传Chart界面。用户将本地Chart部署包上传到该界面即可,
发布应用
发布应用即将Chart部署包发布到集群,并部署一个应用实例,ZStack Zaku支持将本地仓库中的Chart一键发布。
在本地仓库详情页进入Chart标签页,找到需要发布的Chart,点击,弹出发布应用界面。
- 应用名称:设置应用名称。长度限制2~20字符,输入内容只能包含小写字母、数字及分隔符 (-),且必须以小写字母开头,以小写字母或者数字结尾
- 版本:设置应用版本
- 简介:可选项,备注应用相关信息
- 集群:选择应用所发布到的集群
- 命名空间:选择应用所发布到的命名空间
- Chart版本:选择Chart版本,默认为Chart列表中显示的版本
- 应用配置:通过YAML方式修改部署包中values文件的内容。用户可点击修改内容,查看修改前后对比
制品同步
概述
制品同步通过连接外部镜像服务,将容器镜像、Helm Chart 等 OCI 制品自动化同步至本地仓库,实现制品资产的统一管理。
- 外部镜像服务:作为同步的数据来源,需先添加外部镜像服务并配置访问信息,当前支持 Harbor 类型的镜像服务。
- 同步任务:定义从哪个外部镜像服务同步哪些资源到哪个本地仓库,支持手动或定时触发。
添加外部镜像服务
在ZStack Zaku主菜单,点击,进入制品同步界面。点击外部镜像服务,进入外部镜像服务标签页,点击添加外部镜像服务,进入添加外部镜像服务界面。
- 名称:设置外部镜像服务的名称。命名规则:长度限制1~64字符,只能包含中文汉字、英文字母、数字和以下7种英文字符"-"、"_"、"."、"("、")"、":"、"+",名称全平台唯一
- 简介:可选项,备注相关信息,长度限制128字符
- 类型:外部镜像服务的类型,当前固定为Harbor
- 服务URL:填写外部镜像服务的访问地址,必须以http://或https://开头,如:https://192.168.1.1:1003
- 访问账号:填写访问外部镜像服务使用的账号
- 访问凭证:填写访问外部镜像服务使用的密码或凭证
- HTTPS证书验证:选择是否校验外部镜像服务的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,主要用于较为复杂的配置修改。
