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
19
demandé sur Community 2016-08-16 18:45:49

5 réponses

je pense que j'ai résolu en faisant

minikube start --vm-driver="virtualbox" --insecure-registry="$REG_IP":80

au lieu de

minikube start

Source

9
répondu Xero 2017-08-16 08:56:25

utilisez le registre des dockers minikube au lieu de votre docker local

https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/#create-a-docker-container-image

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

Questions Connexes

5
répondu Doug 2018-03-25 17:41:58

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:

  1. minikube ssh
  2. modifier /var/lib/boot2docker/profil et ajouter $EXTRA_ARGS --insecure-registry 192.168.99.1(your local machine's IP):5000
  3. redémarrez le démon docker sudo /etc/init.d/docker restart
  4. 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

1
répondu Y. Zhang 2017-05-23 12:25:36

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.

0
répondu M. Pong 2017-03-03 07:46:32

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
0
répondu Always_Beginner 2018-05-20 21:20:49