垃圾回收
当您从 Harbor 中删除镜像时,空间不会自动释放。您必须运行垃圾回收,通过删除文件系统中不再被 manifest 引用的 blobs 来释放空间。
运行垃圾回收
-
使用具有 Harbor 系统管理员权限的帐户登录到 Harbor 界面。
-
展开 管理,然后选择 清理。
-
选择 ‘垃圾回收’ 选项卡。
-
对于 工作进程 项,您可以选择可以并行执行 GC 任务的工作进程数量。
-
要允许对未标记的 artifacts 执行垃圾回收,请选择此选项。如果您启用此选项,则下次在您的 Harbor 实例上运行垃圾回收时,Harbor 将删除未标记的 artifacts,然后对它们执行垃圾回收。
-
要试运行垃圾回收,请单击 试运行。
-
要立即运行垃圾回收,请单击 立即执行 GC。
试运行 会打印符合删除条件的 blobs 以及释放空间的粗略估计,而不会删除任何数据。
为了避免损坏正在上传的 artifact,垃圾回收引入了一个时间窗口(2 小时)来保留最近上传的层。垃圾回收不会扫描时间窗口内具有时间戳的 manifest 和 blob 文件。Harbor 运行垃圾回收时不会中断您继续使用 Harbor 的能力,例如,您可以在垃圾回收运行时推送、拉取或删除 artifacts。
为了避免过于频繁地触发垃圾回收过程,立即执行 GC 按钮的可用性受到限制。垃圾回收每分钟只能运行一次。
计划垃圾回收
您可以从 Harbor 界面的 管理 > 清理 页面上的 ‘垃圾回收’ 选项卡中计划垃圾回收。
-
使用下拉菜单选择运行垃圾回收的频率。
- 无:不计划垃圾回收。
- 每小时:每小时开始时运行垃圾回收。
- 每天:每天午夜运行垃圾回收。
- 每周:每周六午夜运行垃圾回收。
- 自定义:根据
cron
任务运行垃圾回收。
-
对于 工作进程 项,您可以选择可以并行执行 GC 任务的工作进程数量。
-
要允许对未标记的 artifacts 执行垃圾回收,请选择此选项。如果您启用此选项,则下次在您的 Harbor 实例上运行垃圾回收时,Harbor 将删除未标记的 artifacts,然后对它们执行垃圾回收。
-
单击 保存。
查看垃圾回收历史记录
在 Harbor 界面的 管理 > 清理 页面上的 ‘垃圾回收’ 选项卡上的 垃圾回收历史记录 表中查看垃圾回收运行记录。
每次在您的 Harbor 实例上运行垃圾回收时,Harbor 都会跟踪有关运行的一些信息,包括
- 任务 ID: Harbor 在启动运行时分配的唯一数值。
- 触发类型: 运行的启动方式,手动或计划。
- 试运行: 运行是否为试运行。
- 状态: 运行的当前状态。
- 详情: 垃圾回收详情。
- 创建时间: 运行开始的时间。
- 更新时间: 运行上次更新的时间。
- 日志: 指向运行生成的日志的链接。如果您正在执行试运行,这将包括对将要进行垃圾回收的 artifacts 的估计。

停止正在进行的垃圾回收
您可以从垃圾回收历史记录表中停止任何正在运行的垃圾回收任务。
-
导航到 管理 > 清理 页面,然后选择 ‘垃圾回收’ 选项卡。
-
在 垃圾回收历史记录 表中,单击正在运行的垃圾回收的任务 ID 旁边的复选框。您可以一次停止一个或多个正在运行的垃圾回收任务。
-
单击 停止,然后在模态框中单击 确认,确认您要停止垃圾回收。
这将仅停止垃圾回收任务处理更多 artifacts。Harbor 不会恢复任何已被垃圾回收的 artifact。
本页内容
贡献