web-dev-qa-db-ja.com

MinikubeはMacOSで画像をプルできません

Minikubeでポッドを実行しようとすると、ErrImagePullエラーで失敗します。

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

ポッドのログを見ると、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
Marco Massenzio

これは、「ネイティブ」MacOSハイパーバイザーVMに外部接続がないためです。

これは報告されています ここ

修正はかなり簡単ですが、最初にVirtualBoxをインストールしてから、VM Driver:

$ minikube start --vm-driver virtualbox

その後、ポッドの起動は問題なく機能します。

$ 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
1
Marco Massenzio