Dans mon cas, l'accès de docker à internet était bloqué. Cela a été résolu en utilisant un proxy (en utilisant le commentaire de 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)
Ensuite, pour vérifier si docker a accès à internet, exécutez :
$ docker pull tutum/hello-world
dans le cluster (connectez-vous au cluster en utilisant minikube ssh
) ; arrêtez le processus s'il commence à télécharger.
Mon deuxième problème était une connexion internet lente. Comme les images docker requises sont de l'ordre de 100 Mo, à la fois les conteneurs docker et les pods Kubernetes restaient dans les états \pause
et ContainerCreating
pendant 30 minutes.
Pour vérifier si docker est en train de télécharger les images, exécutez :
$ ls -l /var/lib/docker/tmp
dans le cluster, qui montre le(s) fichier(s) image temporaire(s) qui sont en cours de téléchargement, sinon vide.
Si vous développez dans minikube et utilisez un VPN, docker peut utiliser votre VPN via fiddler. Autrement dit, docker sera connecté à l'ip:port de fiddler, et fiddler est connecté au VPN. Sinon, le VPN n'est pas partagé entre votre hôte et la VM minikube.
0 votes
kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/… est la documentation sur les phases possibles. Malheureusement, elle n'inclut pas
ContainerCreating
...3 votes
Généralement, lorsque j'ai ce problème, c'est parce que les secrets appropriés ne sont pas créés -
kubectl describe pods *nom_du_pod*
révélera si c'est la cause - regardez les 'événements' répertoriés en bas de la sortie. Astuce - pour obtenir le nom_du_pod, utilisezkubectl get pods
, et copiez le nom du pod que vous souhaitez inspecter.