K8s 在拉取镜像时报错tls: failed to verify certificate: x509: certificate signed by unknown authority
一、部署的时候报这个错是怎么回事?
原因
Kubernetes 节点在拉取镜像时会对 Harbor 的 HTTPS 证书做严格校验;
日志里的核心报错是:
tls: failed to verify certificate: x509: certificate signed by unknown authority
说明 Harbor 返回的服务器证书要么是自签发,要么缺少在系统信任链里的根/中级 CA,节点因此拒绝连接。
你需要让 所有负责拉镜像的节点(containerd 或 Docker 守护进程)信任 Harbor 的证书,或者把该 Registry 声明为 “insecure registry”。
──────────────────────────────
一、把自建 CA 或 Harbor 证书加入节点信任链(推荐)
──────────────────────────────
下面以常见的 containerd + systemd 发行版为例,Docker 做法类似:
-
拿到 Harbor 根 CA 证书
• Harbor Web UI → Administration → Configuration → Certificates
• 或直接从 Harbor 主机拷贝/data/secret/ca.crt
假设文件名为harbor-ca.crt
- <