问题
因清理harbor,进入harbor的web管理界面,点击了配置管理-垃圾清理,就看到了多了一行清理任务,有开发同学反馈harbor不能推送镜像拉,这个时候看到了harbor提示harbor处于只读模式,“Harbor被设置为只读模式,在此模式下,不能删除仓库、标签及推送镜像”,关键是web界面上还没有停止按钮,这就很坑爹了。。
然后,我开始搜索这个问题,看广大的网友们有没有遇到这个问题,搜索了一圈没有找到想要的解决办法,看来大家都都是等着它自己结束,或许等待清理完成也是一种办法,但是我实在是等不下去了,因为有人公司急着构建镜像推送,咋办,只能想着赶紧解决这个问题,顺着下面的思路解决问题,想着记录一下解决问题的过程。
思路一 重启服务行不行
进入到harbor所在机器,重启服务,结果是不行,还是提示只读模式。
思路二 进入harbor数据库,手动删除任务
进入harbor所在的pg数据库,发现有这个表,registry.admin_job里面有清理任务,手动删除里面的任务,然后刷新harbor的web界面,发现还是只读状态,应该是清理任务触发了harbor的只读状态,然后在properties表里发现了readonly的值是true,改成false后,刷新harbor的web界面。呼~,问题终于解决了。
总结
1、如果在业务比较繁忙的时候,一定不要清理垃圾,因为会导致你的harbor无法推送镜像
2、如果不小心点到了垃圾清理,不要慌,可以按照思路二来删除任务,解决问题。
3、垃圾清理是只会清理平时那些harbor里被删除的镜像。