记一次k8s从docker-harbor仓库拉取失败

项目在k8s环境中部署时,由于私有仓库证书问题导致pod无法拉取镜像。报错信息指出证书缺少IPSANs。解决方案是在每个k8s节点的docker配置中添加不安全注册表,允许http连接到私有仓库,以绕过HTTPS验证问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 报错信息

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而无法连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值