2017-02-26 2 views
2

Ich versuche, einen Replikationscontroller basierend auf einem Bild zu erstellen, das ich lokal erstellt habe. Aber wenn ich versuche, die RC zu erstellen, gibt es Fehler ImagePullBackOff. Ich habe einen Cluster lokal erstellt mit minikubeKubernetes Erstellen von RC mit lokalem Image

Hier ist meine .yaml Datei:

apiVersion: v1 
kind: ReplicationController 
metadata: 
    name: example 
spec: 
    replicas: 1 
    selector: 
    app: ayonAppserver 
    template: 
    metadata: 
     name: example.com 
     labels: 
     app: ayonAppserver 
    spec: 
     containers: 
     - name: something 
     image: nktest:10 
     resources: 
      limits: 
      cpu: 500m 
      memory: 1024Mi 

Befehl, die ich ausführen, um die rc zu erstellen:

kubectl create -f <file> 

Wenn Im docker images läuft ich das Bild sehen in die Liste

REPOSITORY    TAG     IMAGE ID    CREATED    SIZE 
nktest     10     e60b3c9c3bc6  10 hours ago  425 MB 

wenn Ich betreibe kubectl get pods

NAME   READY  STATUS    RESTARTS AGE 
example-gr9v2 0/1  ImagePullBackOff 0   2m 

habe ich versucht, lokal die Docker Bild zu laufen, und es läuft gut

docker run -d --name="testAyonApp1" nktest:10 

Kann mir jemand helfen, diese zu lösen?

+2

können Sie das Bild auf hub.docker.com schieben? Ansonsten, wie kubernetes Knoten wissen, wo das Bild zu ziehen? – BMW

+0

Ich konnte es ausführen, nachdem ich es auf dockerhub geschoben habe, aber gibt es eine Möglichkeit, dass ich das Bild lokal erstellen kann? Ändern meiner Frage, um diesen Punkt auch hinzuzufügen –

+2

Wenn nicht hub.docker.com, dann benötigen Sie einen privaten Registry-Server, um Ihre Bilder zu speichern, die Knoten von ihm herunterladen können. Wie können die Knoten wissen, wo sie heruntergeladen werden? Das lokal erstellte Abbild ist für Knoten nicht zugänglich. – BMW

Antwort

1

Also danke @BMW für die Hilfe bei dem Problem. Das Problem war, dass ich dachte, seit ich den Cluster erstellt habe mit minikube (lokal) jedes Bild, das ich in meinem lokalen Rechner erstellen wird für Minikube-Cluster sichtbar sein. Ein Bild ist jedoch nur sichtbar, wenn es im Knoten vorhanden ist. Deshalb wollte ich jedes Mal, wenn ich es bauen wollte, das Bild herunterladen.

Ich habe jetzt ein Dockerhub-Konto erstellt und das Bild in den Hub geschoben. Und jetzt funktioniert alles gut.

+0

Sie können das Image auch auf dem Docker-Daemon innerhalb der Minikube-VM erstellen. –

+0

@AnirudhRamanathan, können Sie ein wenig mehr Ahnung geben, wie das geht? –

Verwandte Themen