Kann Docker Image nicht aus dem privaten Repo ziehen, wenn Minikube verwendet wird

8

Ich versuche, Minikube für lokale kubernetes Entwicklung zu verwenden. Ich habe meine Docker-Umgebung so eingerichtet, dass der Docker-Daemon in der bereitgestellten Minikube-VM (boot2docker) wie vorgeschlagen verwendet wird:

%Vor%

Er richtet diese Umgebungsvariablen ein:

%Vor%

Wenn ich versuche, ein Bild aus unserem privaten Docker-Repository zu ziehen:

%Vor%

Ich bekomme diesen Fehler:

%Vor%

Es scheint, dass ich irgendwie ein vertrauenswürdiges CA-Stammzertifikat hinzufügen muss, aber bisher bei meinen Versuchen nicht erfolgreich war.

Ich kann das Repository mit curl mit unserem ca root cert:

knacken %Vor%     
Jason White 03.08.2016, 16:10
quelle

7 Antworten

3

Ich habe eine Lösung für die Situation mit Vorschlägen aus diesen Quellen gefunden:

Ссылка

Ссылка

Ich habe mich bei der Minikube-VM angemeldet ( minikube ssh ) und die /usr/local/etc/ssl/certs/ca-certificates.crt -Datei bearbeitet, indem ich mein eigenes CA-Cert angefügt habe.

Ich habe dann den Docker-Dämon neu gestartet, während er noch in der VM war: sudo /etc/init.d/docker restart

Das ist nicht sehr elegant, wenn ich die Minikube-VM neu starte, muss ich diese manuellen Schritte jedes Mal wiederholen.

Als Alternative habe ich auch versucht, die Option --insecure-registry myurl.com:5000 in der Umgebungsvariable DOCKER_OPTS (neu gestartetes Andockfenster) zu setzen, aber dies hat bei mir nicht funktioniert.

    
Jason White 03.08.2016, 19:39
quelle
1

Ich konnte sowieso nichts finden, um das Zertifikat in den minikube vm zu bekommen. Aber, minikube hat einen Kommandozeilenparameter, um eine unsichere Registrierung zu übergeben.

%Vor%

Erstellen Sie anschließend ein Geheimnis, um die Authentifizierung in der Registrierung zu konfigurieren.

%Vor%

Fügen Sie dem Standarddienstkonto ein Geheimnis hinzu, wie in kubernetes docs .

    
Ben Mathews 22.09.2016 17:05
quelle
1

Für eine http-Registrierung funktioniert diese Schritte für mich:

1) minikube ssh

2) bearbeite /var/lib/boot2docker/profile und füge zu $ ​​EXTRA_ARGS --insecure-registry yourdomain.com:5000

hinzu

3) starte den Docker-Daemon sudo /etc/init.d/docker restart

neu     
wlredeye 26.09.2016 08:34
quelle
0

Die Dokumentation von Kubernetes Das ist ziemlich gut.

Je nachdem, wo Ihr privates Docker-Repository gehostet wird, sieht die Lösung ein wenig anders aus. Die Dokumentation erläutert, wie mit jedem Repository-Typ umgegangen wird.

Wenn Sie diese Authentifizierung mit einem automatisierten Ansatz durchführen möchten, sollten Sie ein Kubernetes-Geheimnis verwenden und imagePullSecrets für deinen Pod.

    
springle 03.08.2016 16:58
quelle
0

Klingt so, als ob Ihre Frage mehr mit Docker als mit Kubernetes zu tun hat. Das Docker CLI unterstützt eine Reihe von TLS-bezogenen Optionen . Da Sie bereits das CA-Zertifikat haben, sollte so etwas funktionieren:

%Vor%     
ivan.sim 03.08.2016 17:09
quelle
0

Kürzlich wurde ein Addon zu Minikube hinzugefügt Zugriff auf private Container-Register viel einfacher:

%Vor%     
mrts 18.07.2017 18:47
quelle
0

Sie müssen /etc/default/docker folgendermaßen bearbeiten:

%Vor%

Stellen Sie sicher, dass sudo service docker stop und sudo docker start die Änderungen übernehmen. Sie sollten dann in der Lage sein, Push / Pull zu Ihrer Registrierung.

    
GHETTO.CHiLD 18.07.2017 19:26
quelle