ImagePullBackOff dépôt local avec Minikube
Je suis en train d'utiliser minikube et kitematic pour les tests kubernetes sur ma machine locale. Cependant, kubernetes ne parviennent pas à tirer de l'image dans mon dépôt local (ImagePullBackOff).
J'essaie de résoudre ce problème : Ne pouvez pas tirer 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 parce que de la cinématique ? (Je suis sur OS X)
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...
Journaux :
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 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
MODIFIER 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"
M'aider je suis fou.
EDITION 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 panneau de config, mais ne fonctionnent pas encore, 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
- Vous êtes sur OS X?
- oui je suis sur OS X
- Avez-vous fait courir le registre? La commande pour le faire, il est
docker run -d -p 5000:5000 --name registry registry:2
- Que penser de l'utilisation du panneau de registre dans le minikube de registre?
Vous devez vous connecter pour publier un commentaire.
Utiliser le minikube docker registre au lieu de votre local docker
https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/#create-a-docker-container-image
Ensemble docker à point à minikube
eval $(minikube docker-env)
Pousser à minikube docker
docker build -t hello-node:v1 .
Configurer votre déploiement de ne pas tirer IfNotPresent
K8S par défaut est réglé sur "Toujours"
Changement de "IfNotPresent"
imagePullPolicy: IfNotPresent
Lié À La Question De
Je pense que j'ai résolu en faisant
au lieu de simplement
$REG_IP est :
Source
docker-machine ip registry
L'ajout de --l'insécurité-registre="$REG_IP":80 ne semble pas fonctionner pour moi.
- Je utiliser wlredeye de répondre à
Ne pouvez pas tirer 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:
--insecure-registry 192.168.99.1(your local machine's IP):5000
sudo /etc/init.d/docker restart
curl -s -S http://192.168.99.1/v2/_catalog
C'est minikube version: v0.14.0
D'abord vous avez besoin pour commencer 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 minikube IP par
ifconfig
Il devrait y avoir de sortie (après minikube commencer à 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)
À l'aide de
minikube start --insecure-registry=192.168.99.1:5000
Vous pouvez effectivement 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
Espère que cela peut aider.
Je pourrais résoudre le problème dans une très étrange façon:
minikube delete
rm -rf ~/.minikube
minikube start