Minikube 无法在 MacOS 中提取任何镜像

Minikube 无法在 MacOS 中提取任何镜像

尝试在 Minikube 中运行任何 Pod 都将失败并出现ErrImagePull错误:

$ kubectl get pods
utils   0/1     ErrImagePull       0          8m57s

查看 pod 的日志,显示 HTTP 请求超时:

$ kubectl logs utils

显示的内容大致如下:

kubelet, minikube  Failed to pull image "massenz/dnsutils:1.1": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

但是,直接从 Docker 运行容器也可以正常工作:

$ docker run --rm -d massenz/dnsutils:1.1 sleep infinity

成功并且可以访问容器(例如,通过exec /bin/bash)。

答案1

这个问题是由于“本机” MacOS 虚拟机管理程序 VM 没有外部连接造成的。

已报告这里

修复起来很简单,但需要先安装 VirtualBox,然后使用它作为 VM 驱动程序:

$ minikube start --vm-driver virtualbox

此后,启动 pod 就可以正常工作了:

$ kubectl apply -f utils.yaml                
pod/utils created

$ kubectl get pods -w
NAME    READY   STATUS              RESTARTS   AGE
utils   0/1     ContainerCreating   0          5s
utils   1/1     Running             0          9s

相关内容