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
)。
これは、「ネイティブ」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