部署了一套Harbor-helm,高可用部署至k8s集群,稳定运行了一段时间~
某天harbor-core及harbor-jog容器down掉,重启失败~。harbor-core报错,大致是安装镜像漏洞扫描的那个功能失败了:

[INFO] [/core/api/chart_repository.go:607]: API controller for chart repository server is successfully initialized
2019-10-31T05:18:43Z [INFO] [/common/dao/base.go:64]: initialized clair database
2019-10-31T05:18:44Z [FATAL] [/core/main.go:231]: failed to initialize clair scanner: api controller: create registration: scanner controller: ping: v1 client: get metadata: Get http://clair-adapter:8080/api/v1/metadata: dial tcp: lookup clair-adapter on 10.43.0.10:53: no such host

google及官网并未找到相关解决方法,研究了一段时间无奈放弃(新版本坑还是多),于是准备回退到老版本。

删除新版本,保留PVC。

helm delete --purge xx

下载分支1.2.0版本:

git clone https://github.com/goharbor/harbor-helm.git --branch=1.2.0

修改values.yaml文件,添加之前的pvc(发现两个版本的配置文件除去自己修改的只有镜像版本不同)。

安装

helm install , --name xx

harbor-core报错,日志显示,安装数据库失败,no such file.....

goole了一番,发现是高版本向低版本降级,数据库版本不一致导致该错误...

于是把harbor database的PVC换成新的,启动成功..

虽然regist的镜像还在(因为是存储在regist的pvc里),但是harbor页面的项目信息和用户都没了。。

数据库打开连个不同版本的harbor-database,查看数据结构一致,仔细观察返现其中一个表记录版本号~

觉得测试一下,把高版本号16修改至11,挂载后重新启动,成功!