这个错误是因为 TLS 证书无法验证,可能是由于证书签发机构不被信任导致的。要解决这个问题,可以按照以下步骤进行操作:
准备一个受信任的 CA 证书和私钥,并将其放置在 k3s 和 Harbor 安装所在的主机上。
在 k3s 集群中创建一个 Secret 对象,用于存储 CA 证书和私钥:
$ kubectl create secret tls harbor-tls --key /path/to/private.key --cert /path/to/ca.crt
- 修改 Harbor 的配置文件
harbor.yml
,将以下配置项添加到data
节点下:
https:
certificate: /etc/harbor/tls.crt
private_key: /etc/harbor/tls.key
将 CA 证书和私钥文件复制到 Harbor 安装所在的主机上,并将其分别保存为
tls.crt
和tls.key
文件。重新启动 Harbor:
$ docker-compose down -v
$ docker-compose up -d
这样就可以解决 TLS 证书验证失败的问题了。