2017-12-18 2 views
1

Ich bin Traying, um einen Pod aus einem Andockfenster private Bild zu erstellen. Dafür habe ich ein Geheimnis, wie diese erstellt:Erstellen Kubernetes Pod aus der privaten Registry

kubectl create secret docker-registry $SECRETNAME --docker-server=$DOCKER_REGISTRY_SERVER --docker-username=$DOCKER_USER --docker-password=$DOCKER_PASSWORD --docker-email=$DOCKER_EMAIL 

und dann in der Schote yml Datei,

apiVersion: v1 
kind: Pod 
metadata: 
    name: website.com 
    labels: 
    app: website 
spec: 
    containers: 
    - name: my-web 
    image: company/web:1.0.2 
    imagePullPolicy: Always 
    command: [ "echo", "SUCCESS" ] 
    ports: 
    - name: web-port 
     containerPort: 8080 
    imagePullSecrets: 
    - name: docker-hub-key 

Wenn ich laufen "kubectl -f web-pod.yml erstellen" und dann habe ich laufen "pod kubectl bekommen website.com" ich erhalte die folgende Fehlermeldung:

  • Fehler beim Bild "Unternehmen/web: 1.0.2": ziehen Sie RPC-Fehler: Code = Unbekannte desc = Fehlerreaktion von Daemon: Repository Unternehmen/Web nicht gefunden: existiert nicht oder kein Pull-Zugriff
  • Back-off zieht Bild "Unternehmen/web: 1.0.2"

Bitte helfen, Dank im Voraus

+0

ist "Firma" etwas, das Sie für diesen Beitrag verwenden oder verwenden Sie das eigentlich? – frankgreco

+0

Es mag albern erscheinen, aber können Sie die Bilder in der Docker-Registrierung auflisten, um zu sehen, ob dieses bestimmte Bild zusammen mit dem "1.0.2" -Tag vorhanden ist? – fiunchinho

+0

Sind Sie sicher "$ SECRETNAME == 'docker-hub-key'', was bekommen Sie, wenn Sie' kubectl get secret docker-hub-key -o yaml' ausführen. Sind Sie sicher, dass der Benutzer Zugriff auf das Bild hat? Es ist üblich, Bilder mit einem Benutzerkonto zu pushen, aber mit einem Systemkonto in k8s zu ziehen. Das Repository wird standardmäßig nur den Zugriff auf den Benutzer gewähren, der das Bild ursprünglich verschoben hat. – erk

Antwort

0

Da der Nicht-Bestanden in der Anfangsphase ist, ist dies wahrscheinlich ein Problem mit der Authentifizierung oder repository- (image/tags access). Überprüfen Sie, ob der Name des Repositorys gültig ist und ob die angegebene Image-Version im Repository verfügbar ist.

Wenn alles überprüft worden ist und das Problem weiterhin besteht nach wie vor, versuchen Sie Folgendes tun:

  • Restart Docker Service Daemon
  • überprüfen, um zu bestätigen, dass das Geheimnis für den Repo zur Verfügung gestellt gültig ist
  • Try ziehen Sie das Bild kubectl Befehl wie unten:

    $ kubectl run <deployment-name> --image=<repo>/<image>:<version> --port=8080

Wenn der obige Befehl erfolgreich ist, wird es Ihnen helfen, Probleme mit der Authentifizierung und dem Zugriff auszuschließen. Wenn das Problem nicht behoben ist, führen Sie die Protokolle durch, um genauere Informationen zu dem Problem zu erhalten.

Verwandte Themen