我尝试在CentOS机器上安装Kubernetes,当我初始化集群时,出现以下错误。我指定我在公司代理后面。我已经在目录中为Docker配置了代理:/etc/systemd/system/docker.service.d/http-代理服务器.conf文件文件中的文档可以正常工作。不管我怎么努力找,我都找不到解决这个问题的办法。谢谢你的帮助。第一个
ddrv8njm1#
也许你的机器上的根证书已经过期了-所以它不认为www.example.com的证书k8s.gcr.io是有效的。这个消息x509: certificate signed by unknown authority提示它。尝试更新它们:yum update ca-certificates || yum reinstall ca-certificates
x509: certificate signed by unknown authority
yum update ca-certificates || yum reinstall ca-certificates
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
6ss1mwsb3#
使用v1.19.2时也会出现同样的错误。它似乎与提到的here问题有关(我认为也在here中)。我在节点上重新安装了kubeadm,并再次运行kubeadm init工作流-它现在可以使用v1.19.3工作,错误也消失了。已成功提取所有主节点映像。还验证了:
v1.19.2
kubeadm init
v1.19.3
sudo kubeadm config images pull
(*)您可以将kubeadm init与--kubernetes-version=X.Y.Z一起运行(在本例中为1.19.3)。
--kubernetes-version=X.Y.Z
1.19.3
ctehm74n4#
我也有同样的错误。可能就像别人说的,是因为证书过期了。我相信不需要删除任何东西。简单的解决方案是运行这两个命令中的一个,它将通过以下方式重新连接到Container存储库:podman logindocker loginSource: podman-login
podman login
docker login
krcsximq5#
当我尝试加入第二个控制面板时,我在版本version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.2"上遇到了这个问题。
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
rryofs0p6#
检查kubeadm-config配置Map中的imageRepository(如果运行类似kubeadm init --config=/tmp/kubeadm-config.yml的命令,则检查您的kubeadm配置文件)。
6条答案
按热度按时间ddrv8njm1#
也许你的机器上的根证书已经过期了-所以它不认为www.example.com的证书k8s.gcr.io是有效的。这个消息
x509: certificate signed by unknown authority
提示它。尝试更新它们:
yum update ca-certificates || yum reinstall ca-certificates
fcwjkofz2#
我刚刚对www.example.com进行了一次挖掘k8s.gcr.io,并将请求所指定的IP添加到/etc/hosts。
现在它起作用了!
6ss1mwsb3#
使用
v1.19.2
时也会出现同样的错误。它似乎与提到的here问题有关(我认为也在here中)。
我在节点上重新安装了kubeadm,并再次运行
kubeadm init
工作流-它现在可以使用v1.19.3
工作,错误也消失了。已成功提取所有主节点映像。
还验证了:
(*)您可以将
kubeadm init
与--kubernetes-version=X.Y.Z
一起运行(在本例中为1.19.3
)。ctehm74n4#
我也有同样的错误。可能就像别人说的,是因为证书过期了。我相信不需要删除任何东西。
简单的解决方案是运行这两个命令中的一个,它将通过以下方式重新连接到Container存储库:
podman login
docker login
Source: podman-login
krcsximq5#
当我尝试加入第二个控制面板时,我在版本
version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.2"
上遇到了这个问题。看#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:
Docker解决方案:
rryofs0p6#
检查kubeadm-config配置Map中的imageRepository(如果运行类似kubeadm init --config=/tmp/kubeadm-config.yml的命令,则检查您的kubeadm配置文件)。