回答:
kubectl describe pods
画像の取得、コンテナの開始など、ポッドに関連付けられているすべてのイベントをリストします。助けになるかもしれません。
私の場合、Dockerのインターネットへのアクセスはブロックされました。プロキシを使用して解決しました(sandylssのコメントを使用):
minikube stop
minikube delete
export http_proxy=http://user:pass@ip:port
export https_proxy=http://user:pass@ip:port
export no_proxy=192.168.99.0/24
minikube start --logtostderr --v=0 --bootstrapper=localkube --vm-driver hyperv
--hyperv-virtual-switch "Primary Virtual Switch" --docker-env HTTP_PROXY=$http_proxy \
--docker-env HTTPS_PROXY=$https_proxy --docker-env NO_PROXY=$no_proxy
export no_proxy=$no_proxy,$(minikube ip)
export NO_PROXY=$no_proxy,$(minikube ip)
次に、Dockerがインターネットにアクセスできるかどうかを確認するには、次を実行します。
$ docker pull tutum/hello-world
クラスター内(を使用してクラスターに接続minikube ssh
); ダウンロードを開始したらプロセスを停止します。
2番目の問題は、インターネット接続が遅いことでした。必要なDockerイメージは100MB程度であるため、DockerコンテナーとKubernetesポッドは両方とも30分間そのままで\pause
、ContainerCreating
状態を維持します。
dockerが画像をダウンロードしているかどうかを確認するには、次を実行します:
$ ls -l /var/lib/docker/tmp
クラスター内で、ダウンロード中の一時イメージファイルを表示します。それ以外の場合は空です。
minikubeで開発し、VPNを使用している場合、Dockerはfiddlerを介してVPNを使用できます。つまり、ドッカーはフィドラーのip:portに接続され、フィドラーはVPNに接続されます。それ以外の場合、VPNはホストとminikube VMの間で共有されません。
私がこれを見つけたのは、リソース宣言が偶然に非常に小さいためです。
リソース:制限:cpu:1000mメモリ:1024Mリクエスト:cpu:1000mメモリ:1024M
対
リソース:制限:cpu:1000mメモリ:1024mリクエスト:cpu:1000mメモリ:1024m
mを大文字にすると、リソースの使用に非常に大きな違いが生じます。コンテナに十分なメモリを割り当てていなかったため、ContainerCreatingで行き詰まりました。
ContainerCreating
...