> 技术文档 > 【云原生技术】K8s 在拉取镜像时报错tls: failed to verify certificate: x509: certificate signed by unknown authority

【云原生技术】K8s 在拉取镜像时报错tls: failed to verify certificate: x509: certificate signed by unknown authority


K8s 在拉取镜像时报错tls: failed to verify certificate: x509: certificate signed by unknown authority

  • 一、部署的时候报这个错是怎么回事?
  • 二、509是什么错?
  • 三、certifcate 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 做法类似:

  1. 拿到 Harbor 根 CA 证书
    • Harbor Web UI → Administration → Configuration → Certificates
    • 或直接从 Harbor 主机拷贝 /data/secret/ca.crt
    假设文件名为 harbor-ca.crt

  2. <