Kubernetes无法提取图像k8s.gcr.io

qnzebej0  于 2022-12-03  发布在  Kubernetes
关注(0)|答案(6)|浏览(205)

我尝试在CentOS机器上安装Kubernetes,当我初始化集群时,出现以下错误。
我指定我在公司代理后面。我已经在目录中为Docker配置了代理:/etc/systemd/system/docker.service.d/http-代理服务器.conf文件文件中的文档可以正常工作。
不管我怎么努力找,我都找不到解决这个问题的办法。
谢谢你的帮助。
第一个

ddrv8njm

ddrv8njm1#

也许你的机器上的根证书已经过期了-所以它不认为www.example.com的证书k8s.gcr.io是有效的。这个消息x509: certificate signed by unknown authority提示它。
尝试更新它们:yum update ca-certificates || yum reinstall ca-certificates

fcwjkofz

fcwjkofz2#

我刚刚对www.example.com进行了一次挖掘k8s.gcr.io,并将请求所指定的IP添加到/etc/hosts。

# dig k8s.gcr.io

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.2 <<>> k8s.gcr.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44303
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;k8s.gcr.io.            IN  A

;; ANSWER SECTION:
k8s.gcr.io.     21599   IN  CNAME   googlecode.l.googleusercontent.com.
googlecode.l.googleusercontent.com. 299 IN A    64.233.168.82

;; Query time: 72 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Nov 24 11:45:37 CST 2020
;; MSG SIZE  rcvd: 103

# cat /etc/hosts
64.233.168.82   k8s.gcr.io

现在它起作用了!

# kubeadm config images pull
W1124 11:46:41.297352   50730 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[config/images] Pulled k8s.gcr.io/kube-apiserver:v1.19.4
[config/images] Pulled k8s.gcr.io/kube-controller-manager:v1.19.4
[config/images] Pulled k8s.gcr.io/kube-scheduler:v1.19.4
[config/images] Pulled k8s.gcr.io/kube-proxy:v1.19.4
[config/images] Pulled k8s.gcr.io/pause:3.2
[config/images] Pulled k8s.gcr.io/etcd:3.4.13-0
[config/images] Pulled k8s.gcr.io/coredns:1.7.0
6ss1mwsb

6ss1mwsb3#

使用v1.19.2时也会出现同样的错误。
它似乎与提到的here问题有关(我认为也在here中)。
我在节点上重新安装了kubeadm,并再次运行kubeadm init工作流-它现在可以使用v1.19.3工作,错误也消失了。
已成功提取所有主节点映像。
还验证了:

sudo kubeadm config images pull

(*)您可以将kubeadm init--kubernetes-version=X.Y.Z一起运行(在本例中为1.19.3)。

ctehm74n

ctehm74n4#

我也有同样的错误。可能就像别人说的,是因为证书过期了。我相信不需要删除任何东西。
简单的解决方案是运行这两个命令中的一个,它将通过以下方式重新连接到Container存储库:
podman login
docker login
Source: podman-login

krcsximq

krcsximq5#

当我尝试加入第二个控制面板时,我在版本version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.2"上遇到了这个问题。

error execution phase preflight: [preflight] Some fatal errors occurred:
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/coredns:v1.9.3: output: E0923 04:47:51.763983    1598 remote_image.go:242] "PullImage from image service failed" err="rpc error: code = NotFound desc = failed to pull and unpack image \"k8s.gcr.io/coredns:v1.9.3\": failed to resolve reference \"k8s.gcr.io/coredns:v1.9.3\": k8s.gcr.io/coredns:v1.9.3: not found" image="k8s.gcr.io/coredns:v1.9.3"
time="2022-09-23T04:47:51Z"...

看#99321,现在是k8s.gcr.io/coredns/coredns:v1.9.3而不是k8s.gcr.io/coredns:v1.9.3,我不知道为什么
作者:Kluevandrew,参考文献:https://github.com/kubernetes/kubernetes/issues/112131
这起作用了,我使用containerd:

crictl pull k8s.gcr.io/coredns/coredns:v1.9.3
ctr --namespace=k8s.io image tag k8s.gcr.io/coredns/coredns:v1.9.3 k8s.gcr.io/coredns:v1.9.3

Docker解决方案:

docker pull k8s.gcr.io/coredns/coredns:v1.9.3
docker tag k8s.gcr.io/coredns/coredns:v1.9.3 k8s.gcr.io/coredns:v1.9.3
rryofs0p

rryofs0p6#

检查kubeadm-config配置Map中的imageRepository(如果运行类似kubeadm init --config=/tmp/kubeadm-config.yml的命令,则检查您的kubeadm配置文件)。

相关问题