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%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.
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 .
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.
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%Kürzlich wurde ein Addon zu Minikube hinzugefügt Zugriff auf private Container-Register viel einfacher:
%Vor% Sie müssen /etc/default/docker
folgendermaßen bearbeiten:
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.
Tags und Links docker kubernetes boot2docker x509