侧边栏壁纸
博主头像
laoliyun

生活总是这样,不能叫人处处都满意,但我们还要热情地活下去,人活一生值得爱的东西很多,不要因为一个不满意就灰心。

  • 累计撰写 138 篇文章
  • 累计创建 44 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
K8s

harbor仓库完全清理方式

laoliyun
2022-07-02 / 0 评论 / 0 点赞 / 452 阅读 / 345 字
温馨提示:
本文最后更新于 2022-07-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

harbor 接口查询
打开harbor api的 swagger.yaml文件

https://github.com/goharbor/harbor/blob/master/docs/swagger.yaml

复制到 swagger 的在线编辑器里即可

http://editor.swagger.io

ajax 调用harbor api删除镜像
调用harbor api需要用户认证,注意下边的headers,使用了最基本的认证,btoa()函数的作用是编码为base64 (atob()为解码)

function delHarborImg(tag) {
    $.ajax({
        url: "ip:port/api/repositories/ever/web-svc/tags/" + tag,
        async: false,
        type: "DELETE",
        headers: {
            "Authorization": "Basic " + btoa("admin:123456")
        },
        success: function (result) {
            console.info("harbor delete success");
        },
        error: function (result) {
            alert("删除harbor镜像失败,请联系管理员");
        }
    });
}

harbor垃圾回收(物理清理)
无论通过接口或者web界面删除镜像,都只是软删除,虽然查询不到,但是镜像文件还是保存在磁盘上,因此需要通过以下方法进行垃圾回收,清理释放磁盘

#进入导harbor yaml文件所在目录
cd /usr/local/src/harbor 
#停止harbor
docker-compose stop 
#使用清理镜像进行垃圾回收
#使用--dry-run 参数进行预览,不使用则进行清理
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect  /etc/registry/config.yml 
#重新启动harbor
docker-compose start 

对比删除后的目录大小

du -sh /data/registry/docker/registry/v2/blobs
du -sh /data/registry/docker/registry/v2/repositories

0

评论区