fedora32上pod的minikube docker图像上的i/o超时ImagePullBackOff问题



当我从kubernates pod的docker中提取图像时,我收到ImagePullBackOff错误。我正在使用Fedora32并在docker上运行一个minikube。

''

[prem@localhost simplek8s]$ **docker ps --all**
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                    PORTS                                                                                                      NAMES
070fba4347b7        **gcr.io/k8s-minikube/kicbase:v0.0.13**   "/usr/local/bin/entr…"   3 days ago          Up About an hour          127.0.0.1:32771->22/tcp, 127.0.0.1:32770->2376/tcp, 127.0.0.1:32769->5000/tcp, 127.0.0.1:32768->8443/tcp   minikube
85a476d91b28        hello-world                           "/hello"                 3 days ago          Exited (0) 3 days ago                                                                                                                musing_fermat
dbf5151bc72e        frontend_tests                        "docker-entrypoint.s…"   6 days ago          Exited (137) 3 days ago                                                                                                              frontend_tests_1
e47486560719        frontend_web                          "docker-entrypoint.s…"   6 days ago          Exited (137) 3 days ago                                                                                                              frontend_web_1
75933fdf45c4        274c1d9065e6                          "/bin/sh -c 'npm ins…"   6 days ago          Created                                                                                                                              romantic_sinoussi
ab0d87295579        274c1d9065e6                          "/bin/sh -c 'npm ins…"   6 days ago          Created  

''

在上面的容器中,您可以看到minikube正在运行。

这就是当我看到吊舱时所显示的。

[prem@localhost simplek8s]$ **kubectl get pods**
NAME         READY   STATUS             RESTARTS   AGE
busybox      0/1     ImagePullBackOff   0          47h
client-pod   0/1     ImagePullBackOff   0          2d
dnsutils     0/1     ImagePullBackOff   0          21m
nginx        0/1     ImagePullBackOff   0          47h
[prem@localhost simplek8s]$ **kubectl describe pods**
Name:         busybox
Namespace:    default
Priority:     0
Node:         minikube/192.168.49.2
Start Time:   Wed, 28 Oct 2020 02:05:29 +0530
Labels:       run=busybox
Annotations:  <none>
Status:       Pending
IP:           172.17.0.2
IPs:
IP:  172.17.0.2
Containers:
busybox:
Container ID:   
Image:          busybox
Image ID:       
Port:           <none>
Host Port:      <none>
State:          Waiting
Reason:       ImagePullBackOff
Ready:          False
Restart Count:  0
Environment:    <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-zr7nz (ro)
Conditions:
Type              Status
Initialized       True 
Ready             False 
ContainersReady   False 
PodScheduled      True 
Volumes:
default-token-zr7nz:
Type:        Secret (a volume populated by a Secret)
SecretName:  default-token-zr7nz
Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
**Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute** op=Exists for 300s
Events:
Type     Reason   Age                    From     Message
----     ------   ----                   ----     -------
Normal   Pulling  60m (x4 over 63m)      kubelet  Pulling image "busybox"
Warning  Failed   60m                    **kubelet  Failed to pull image "busybox": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.49.1:53: read udp 192.168.49.2:38852->192.168.49.1:53: i/o timeout**
Warning  Failed   13m (x13 over 62m)     kubelet  Error: ErrImagePull
Warning  Failed   8m17s (x226 over 62m)  kubelet  Error: ImagePullBackOff
Normal   BackOff  3m12s (x246 over 62m)  kubelet  Back-off pulling image "busybox"
[myname@localhost simplek8s]$ **minikube ssh**
docker@minikube:~$ cat /etc/resolv.conf
nameserver 192.168.49.1
options ndots:0
docker@minikube:~$ **curl google.com**
curl: (6) **Could not resolve host: google.com**

显然,这些吊舱无法访问互联网来获取图像。看起来我错过了一些dns配置,使minikube从互联网上提取图像。帮我解决这个问题。

由于Fedora 32中的更改,安装体验比平时稍微复杂一些,目前需要执行一些额外的手动步骤,具体取决于您的机器配置。

请参阅:docker-for-linux-fedora32。

还可以看看:无法提取映像,无法解析主机,curl-6-could-not-resolve-host,错误docker守护进程。

请记住,Fedora 32上Docker的当前状态并不理想。缺乏官方方案可能会让一些人感到困扰,而且在上游有一个问题需要讨论。请参阅:docker-fodora32-示例。

看看这个安装Docker on Fedora32-Docker-on-Fedora32。

要安装Docker引擎,您需要其中一个的64位版本Fedora版本:

  • Fedora 30
  • Fedora 31

我建议您使用不同的驱动程序,例如kvm或virtualbox-minikube驱动程序。看看这个指南-minikube kubernetes。

最新更新