Dans mon cas, l'accès de Docker à Internet a été bloqué. Il 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 la lenteur de la connexion Internet. Étant donné que les images docker requises sont de l'ordre de 100 Mo, les conteneurs docker et les pods Kubernetes sont restés dans les limites de l'espace disponible. \pause
y ContainerCreating
états pendant 30 minutes.
Pour vérifier si docker télécharge les images, exécutez :
$ ls -l /var/lib/docker/tmp
dans le cluster, qui montre le(s) fichier(s) image temporaire(s) en cours de téléchargement, vide sinon.
Si vous développez dans minikube et utilisez un VPN, docker peut utiliser votre VPN via violoniste . C'est-à-dire que 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 ne comprend pas
ContainerCreating
...3 votes
Habituellement, lorsque j'obtiens ce problème, c'est parce que les secrets appropriés ne sont pas créés -
kubectl describe pods *pod_name*
révélera si c'est la cause - regardez les 'événements' listés en bas de la sortie. Conseil - pour obtenir le nom_de_pod 使い道kubectl get pods
et copiez le nom du module que vous voulez inspecter.