先把 Harbor 的 Helm Chart 扒下来看看具体的内容。
代码语言:javascript复制helm repo add harbor https://helm.goharbor.io
helm pull harbor/harbor
values.yaml
文件一如既往的多且复杂,耐心点,一个个看过来,否则很多配置没有留意,可能就会给部署过程带来很多问题。因为测试集群没有 ingress,为了方便访问,改了一些参数,一些调度和镜像的参数就不列了,另外我还禁用了一些不太重要的服务例如 trivy,其他具体更改的参数如下。
# 通过nodePort提供访问
expose.type: nodePort
# 禁用了tls
expose.tls.enabled: false
# 访问地址,因为禁用了tls,所以这些的协议一定要改成http,然后后面要加上nodeport的固定端口
externalURL: http://10.9.204.73:30002
因为我把 helm 包 pull
下来了,改 values.yaml
文件是为了 helm install
少敲几个命令,最后我的部署命令是这样的 helm install harbor --namespace harbor --create-namespace .
,部署的结果如下。
NAME READY STATUS RESTARTS AGE
harbor-core-7b4c5c457c-xp8j8 1/1 Running 0 4h
harbor-database-0 1/1 Running 0 4h
harbor-jobservice-85fc4d85db-5vstf 1/1 Running 0 4h
harbor-nginx-58c96c44d9-2cdnm 1/1 Running 0 4h
harbor-portal-868cc47794-vlkz5 1/1 Running 0 4h
harbor-redis-0 1/1 Running 0 4h
harbor-registry-856557865b-6l8kf 2/2 Running 0 140m
部署完之后,很多人在访问 UI 的时候很多人会遇到 Invalid user name or password.
,Github 上比较多这样的提问,大部分情况都是因为 NodePort, tls, externalURL 没有配合好,因为没有具体去看代码,所以如果大家遇到问题,就往这些方面去找原因就好了。