出现 “tls: failed to verify certificate: x509: certificate signed by unknown authority” 错误通常是由于 k3s 无法验证您配置的 Harbor TLS 证书而引起的。要解决此问题,可以尝试以下步骤:
- 将 Harbor CA 根证书添加到 k3s 的信任列表中
将 Harbor CA 根证书复制到 /etc/rancher/k3s/agent/pki/ca.crt 文件中,然后重新启动 k3s:
sudo cp /path/to/harbor/ca.crt /etc/rancher/k3s/agent/pki/ca.crt
sudo systemctl restart k3s-agent.service
- 在 k3s 的 Helm values 文件中添加信任的 CA 证书
如果您在安装 k3s 时使用了 Helm chart,请编辑 values.yaml 文件并添加以下内容:
extraEnv: |
- name: REGISTRY_HTTP_TLS_CA_CERTIFICATE
value: <base64 encoded harbor ca root cert>
其中,
- 禁用 k3s 对 TLS 证书的验证
不推荐禁用对 TLS 证书的验证,但在某些情况下可能会有用。要禁用 k3s 对 TLS 证书的验证,请在 k3s 启动命令中添加 –no-deploy traefik 参数:
sudo k3s agent --server https://<k3s-server-ip>:6443 --token <node-token> --no-deploy traefik
这会禁用 k3s 中的 Traefik 服务,并允许疏通 TLS 证书验证错误。