Error response from daemon: Get https://registry-1.docker.io/v2/

docker images

 我的主机上,是有这个镜像的。

现象是,我的pushgateway 一直是ImagePullBak

查看详情,报出镜像拉取不到。

kubectl logs kube-pushgateway-lsveq -n monitoring

1.到主机上直接执行docker pull  镜像报错

Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [fe80::1%ens33]:53 :server misbehaving

搜原因,人家说是dns没有正确解析到域名,查看dns相关问题。

针对我这个问题,查看dns是个错误思路,我花了一个上午的时间

从熟悉dns的原理,到查看dns的pod的yaml文件,已经在主机上生成的域名规则,没起作用。

最后我将 /etc/resolv.conf的内容都备份清掉,依然没有执行成功 docker pull 

又搜到,将dns运行的ip信息配置到此文件中。

kubectl get po -A -o wide  | grep coredns 

将dns的ip配置进resolv.conf中,重新启动pushgateway,启动失败。

继续搜。。。

有说是docker的问题,需要配置本地registry仓库信息。

修改/etc/docker/daemon.json。没有这个文件,则新创建这个文件。

我信了,创建这个文件

cat /daemon.json
{
    "insecure-registries",["10.10.10.238:35000"]
}

sudo systemctl daemon-reload

sudo systemctl stop docker.service

sudo systemctl start docker.service

sudo systemctl status docker.serivce

好嘛,查看docker状态,docker启动不起来了。telnet下registry的ip port,网络是通的,仓库没有问题。那就是这个配置文件的问题。将配置文件删掉,重启docker,状态ok

解决不了了,最后一招,请教大佬呗

我将问题描述了下:

主机上镜像已经存在,但docker pull 拉取此镜像时,拉取不到,导致pushgateway启动不了。

修改prometheus-pushgateway.yaml配置文件

imagePullPolicy : Always改成 IfNotPresent  

kubectl apply -f prometheus-pushgateway.yaml  

pod 瞬间运行正常,,,

就这一个属性,我排查了半天的时间没有思路。。。

猜你喜欢

转载自blog.csdn.net/red_sky_blue/article/details/125997332