Helm部署Harbor后提示用户或密码不正确的问题及解决方法

问题描述

我在TKE集群按照这篇教程官方文档使用helm部署了Harbor镜像仓库。部署过程中没有遇到任何错误信息,但是当我通过域名访问Harbor前端页面时,输入默认的用户名和密码(admin/Harbor12345)却提示用户或密码不正确。

排查过程

我首先尝试了网上一些常见的方法,比如在harbor-db内修改密码,但是都不管用,感觉问题不是出在密码上。然后我想检查一下存储在harbor-core中的初始密码是否和values.yaml文件中配置的一致,于是我执行了以下命令:

kubectl exec -it harbor-core容器 bash
printenv | grep PASSWORD

结果发现初始密码确实是Harbor12345,所以这也不是问题所在。之后我在GitHub上看到了一些类似的问题:

解决过程

个人认为我的问题出在第二个原因上,因为我的域名没有配置SSL证书,所以应该使用http而不是https访问Harbor。所以我将values.yaml文件中的externalURL从https://harbor.xxx.com改为了http://harbor.xxx.com。

同时对问题1比较在意,我也顺手把harborAdminPassword: "Harbor12345"中的双引号删掉了。

修改好新的values.yaml文件后,执行以下命令更新Harbor:

helm upgrade --namespace harbor xxxharbor ~/harbor -f ~/harbor/values.yaml

这时候会发现deployment中的xxxharbor-jobservice起不来,只要把Replicas改为0,再改回1即可。

最后再次访问Harbor前端页面,并输入用户名和密码(admin/Harbot12345),就可以成功登录了。

总结

本文介绍了使用helm部署Harot后遇到用户或密码不正确的问题及其原因和解决方法。通过修改values.yaml文件中的externalURL和harborAdminPassword两个配置项,并重新更新Helm chart即可解决问题。希望对其他遇到类似问题的人有所帮助。(该总结由New Bing生成)

热门相关:地球第一剑   敦伦睦邻2   薄先生,情不由己   网游之逆天飞扬   刺客之王