Warum bekomme ich ErrImagePull Fehler in diesem Kubernetes-Bereitstellung?

Ich versuche, erstellen Sie eine lokale Kubernetes-Bereitstellung mit Minikube, Docker-Registrierung, und eine demo-Knoten-Projekt.

Das erste, was ich Tat, war, installieren Sie das Andockfenster v 1.12.3, dann Minikube v0.12.2.

Dann erstellte ich ein Docker-Registry-container ein, indem Sie diesen Befehl ausführen (über dieses tutorial, nur der erste Befehl unten)

docker run -d -p 5000:5000 --name registry registry:2

Weiter lief ich diese minikube Befehl zum erstellen einer lokalen kubernetes-cluster:

minikube start --vm-driver="virtualbox" --insecure-registry="0.0.0.0:5000"

Meine Projektstruktur sieht wie folgt aus:

.
├── Dockerfile
└── server.js

und meine Dockerfile sieht wie folgt aus:

FROM node:7.1.0
EXPOSE 8080
COPY server.js .
CMD node server.js

Dann baute ich mein eigenes Andockfenster Bild und schob es auf mein privates repository:

docker build -t hello-node .
docker tag hello-node localhost:5000/hello-node
docker push localhost:5000/hello-node

Dann habe ich versucht, führen Sie eine Bereitstellung mit diesem Befehl:

kubectl run hello-node --image=localhost:5000/hello-node --port=8888

Aber dann bekomme ich dieses:

sudo kubectl get pods --all-namespaces                                                                                                                             
NAMESPACE     NAME                          READY     STATUS         RESTARTS   AGE
default       hello-node-3745105022-gzs5a   0/1       ErrImagePull   0          11m
kube-system   kube-addon-manager-minikube   1/1       Running        4          10d
kube-system   kube-dns-v20-2x64k            3/3       Running        12         10d
kube-system   kubernetes-dashboard-mjpjv    1/1       Running        4          10d

Ich glaube, ich könnte fehlt eine gewisse Art von docker-registry-Authentifizierung, aber wie ich bin, googelte ich kann nicht finden, etwas, das ich verstehen. Könnte jemand bitte zeigen Sie mich in die richtige Richtung?

Bearbeiten

Nachdem mit ssh Zugang bash auf dem kubernetes-VM und ziehen Sie die hello-node Bild aus meiner privaten Registrierung, indem Sie diesen Befehl verwenden:

minikube ssh
Boot2Docker version 1.11.1, build master : 901340f - Fri Jul  1 
22:52:19 UTC 2016
Docker version 1.11.1, build 5604cbe
docker@minikube:~$ sudo docker pull localhost:5000/hello-node
Using default tag: latest
Pulling repository localhost:5000/hello-node
Error while pulling image: Get http://localhost:5000/v1/repositories/hello-node/images: dial tcp 127.0.0.1:5000: getsockopt: connection refused

Ist localhost:5000 die richtige Adresse, die in den kubernetes-host VM?

InformationsquelleAutor Nathan Jones | 2016-11-15
Schreibe einen Kommentar