ImagePullBackOff dépôt local avec Minikube
j'essaie d'utiliser minikube et kitematic pour tester les kubernetes sur ma machine locale. Cependant, kubernetes ne parvient pas à tirer l'image dans mon dépôt local (ImagePullBackOff).
j'ai essayer de résoudre ce problème : ne Peut pas extraire le panneau de l'image de privé de pensions de titres lors de l'utilisation de Minikube
mais je n'ai pas de/etc / init.d / docker, je pense que c'est à cause de kinematic ? (Je suis sur OS X)
des idées ?
Merci vous
EDIT :
j'ai installé https://github.com/docker/docker-registry et
docker tag local-image-build localhost:5000/local-image-build
docker push localhost:5000/local-image-build
Mon kubernetes yaml contient :
spec:
containers:
- name: backend-nginx
image: localhost:5000/local-image-build:latest
imagePullPolicy: Always
Mais ça ne marche toujours pas... Logs :
Error syncing pod, skipping: failed to "StartContainer"
for "backend-nginx" with ErrImagePull: "Error while pulling image:
Get http://127.0.0.1:5000/v1/repositories/local-image-build/images:
dial tcp 127.0.0.1:5000: getsockopt: connection refused
EDIT 2:
je ne sais pas si je suis sur la bonne voie, mais j'ai trouver ceci :
http://kubernetes.io/docs/user-guide/images/
Mais Je Je ne sais pas ce qu'est mon DOCKER_USER...
kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
EDIT 3
maintenant, je suis sur mon pod :
Failed to pull image "local-image-build:latest": Error: image library/local-image-build not found
Error syncing pod, skipping: failed to "StartContainer" for "backend-nginx" with ErrImagePull: "Error: image library/local-image-build not found"
Aidez-moi je deviens fou.
EDIT 4
Error syncing pod, skipping: failed to "StartContainer" for "backend-nginx" with ErrImagePull: "Error response from daemon: Get https://192.168.99.101:5000/v1/_ping: tls: oversized record received with length 20527"
j'ai ajouté :
EXTRA_ARGS='
--label provider=virtualbox
--insecure-registry=192.168.99.101:5000
à mon Docker config, mais ça ne marche toujours pas, le même message....
En passant, j'ai changé mon yaml :
spec:
containers:
- name: backend-nginx
image: 192.168.99.101:5000/local-image-build:latest
imagePullPolicy: Always
Et je lance ma base de registre comme ça :
docker run -d -p 5000:5000 --restart=always --name myregistry registry:2
5 réponses
utilisez le registre des dockers minikube au lieu de votre docker local
placer docker pour pointer vers minikube
eval $(minikube docker-env)
Push to minikube docker
docker build -t hello-node:v1 .
Paramétrez votre déploiement pour ne pas tirer IfNotPresent
la valeur par défaut de K8S est définie à " Always" Changement de "IfNotPresent"
imagePullPolicy: IfNotPresent
ajouter -- unsafe-registry= "$REG_IP": 80 ne semble pas fonctionner pour moi.
je dois utiliser la réponse de wlredeye à ne Peut pas extraire le panneau de l'image de privé de pensions de titres lors de l'utilisation de Minikube pour le faire fonctionner:
Pour un http registre comme suit ce qui fonctionne pour moi:
- minikube ssh
- modifier /var/lib/boot2docker/profil et ajouter $EXTRA_ARGS
--insecure-registry 192.168.99.1(your local machine's IP):5000
- redémarrez le démon docker
sudo /etc/init.d/docker restart
- Vérifier vous pouvez accéder au panneau de registre
curl -s -S http://192.168.99.1/v2/_catalog
c'est la version minikube: v0.14.0
vous devez d'Abord démarrer un registre local, semble vous l'avez fait.
docker run -d -p 5000:5000 --restart=always --name myregistry registry:2
vous pouvez vérifier votre adresse IP minikube par ifconfig
il devrait y avoir une sortie (après que minikube ait commencé à utiliser virtualbox comme VMdriver) ressemble à:
vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
inet addr:192.168.99.1 Bcast:192.168.99.255 Mask:255.255.255.0
inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:515 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:86256 (86.2 KB)
en utilisant
minikube start --insecure-registry=192.168.99.1:5000
vous pouvez en fait vérifier si vous pouvez tirer vos propres images simplement en (dans minikube)
docker pull 192.168.99.1:5000/your_own_repo/your_own_images
j'Espère cela peut vous aider.
je pourrais résoudre le problème dans une très étrange façon:
- supprimer le cluster minikube
minikube delete
- supprimer les fichiers de configuration de minikube
rm -rf ~/.minikube
- Démarrer minikube
minikube start