web-dev-qa-db-fra.com

Référentiel local ImagePullBackOff avec Minikube

J'essaie d'utiliser minikube et kitematic pour tester les kubernetes sur ma machine locale. Cependant, kubernetes ne parvient pas à extraire l'image dans mon référentiel local (ImagePullBackOff).

J'essaie de résoudre ce problème: Je ne parviens pas à extraire l'image d'un menu fixe à partir d'un dépôt privé avec Minikube

Mais je n'ai pas de fichier /etc/init.d/docker, je pense que c'est à cause de la cinématique? (Je suis sous OS X)

MODIFIER :

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 cela ne fonctionne toujours pas ...

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 le bon chemin, mais je trouve ceci:

http://kubernetes.io/docs/user-guide/images/

Mais je ne sais pas quel 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

à ma config docker, mais ça ne fonctionne toujours pas, le même message ....

Au fait, 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 mon registre comme ça:

docker run -d -p 5000:5000 --restart=always --name myregistry registry:2
20
Xero

Je pense avoir résolu en faisant

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

au lieu de juste

minikube start

$ REG_IP est:

REG_IP=docker-machine ip registry

La source

11
Xero

L'ajout de --insecure-registry = "$ REG_IP": 80 ne semble pas fonctionner pour moi. 

Je dois utiliser la réponse de wlredeye à l'adresse Impossible d'extraire l'image du menu fixe depuis un dépôt privé lors de l'utilisation de Minikube

Pour un registre http, cette procédure fonctionne pour moi:

  1. minikube ssh
  2. éditez/var/lib/boot2docker/profile et ajoutez-le à $ 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érifiez que vous pouvez accéder au registre de menu fixe curl -s -S http://192.168.99.1/v2/_catalog

Ceci est la version minikube: v0.14.0

1
Y. Zhang

Vous devez d’abord créer un registre local, vous semblez l’avoir fait.

docker run -d -p 5000:5000 --restart=always --name myregistry registry:2

Vous pouvez vérifier votre IP de minikube de ifconfig

Il devrait y avoir une sortie (après le démarrage de minikube en utilisant virtualbox en tant que VMdriver) ressemble à ceci:

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 réellement vérifier si vous pouvez tirer vos propres images simplement par (dans minikube) 

docker pull 192.168.99.1:5000/your_own_repo/your_own_images

J'espère que cela pourrait aider.

0
M. Pong

Je pourrais résoudre le problème d'une manière très étrange:

  • Supprimer le cluster de minikube minikube delete
  • Supprimez les fichiers de configuration minikube rm -rf ~/.minikube
  • Démarrer minikube minikube start
0
Always_Beginner