报错信息

Failed to pull image "10.3.148.117/gz2203/php:v1": rpc error: code = Unknown desc = Error response from daemon: Get "https://10.3.148.117/v2/": x509: cannot validate certificate for 10.3.148.117 because it doesn't contain any IP SANs

项目背景

以创建docker仓库并上传到仓库,k8s创建Deployment时创建的pod需要向私有仓库进行拉取,但是以配置secret且在yaml文件中已经引用,但是拉取时进行报错。

解决思路:

查看报错信息,because it doesn't contain any IP SANs该报错和docker私有仓库没有配置"insecure-registries": ["http://xx.xx.xx.xxx"],允许不安全连接时的报错类似,加上k8s内部不同节点拉取代码的用户并不是docker而是kubelet。所以查看集群中的节点上发现均没配置

解决办法:

vim vim /etc/docker/daemon.json 

{
  "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],
  "insecure-registries": ["http://10.3.148.xxx"]
}

由于是不安全连接,需要在每个k8s的node节点上进行配置接受对应的不安全连接的ip,允许不安全连接。这样kubelet在拉取代码的时候才不会因为https而无法连接

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐