Auf dieser Seite wird erläutert, wie Sie eine vorhandene Docker-Registry für GKE On-Prem konfigurieren.
Übersicht
GKE On-Prem unterstützt keine unsicheren Docker-Registrys. Wenn Sie Ihre Docker-Registry starten, müssen Sie ein Zertifikat und einen Schlüssel angeben. Das Zertifikat kann von einer öffentlichen Zertifizierungsstelle signiert werden oder es kann selbst signiert sein.
Docker-Registry erstellen
Informationen zum Erstellen einer Docker-Registry finden Sie unter Extern zugängliche Registry ausführen.
Registry konfigurieren
Die VM Ihrer Administrator-Workstation muss der Zertifizierungsstelle vertrauen, die Ihr Zertifikat signiert hat. Führen Sie die folgenden Schritte auf der VM Ihrer Administrator-Workstation aus, um dieses Vertrauen herzustellen:
Erstellen Sie ein Verzeichnis zum Speichern des Zertifikats:
sudo mkdir -p /etc/docker/certs.d/[REGISTRY_SERVER]
Dabei ist [REGISTRY_SERVER] die IP-Adresse oder der Hostname der VM, die Ihre Docker-Registry ausführt.
Kopieren Sie die Zertifikatsdatei in
/etc/docker/certs.d/[REGISTRY_SERVER]/ca.crt
. Sie müssen die Dateica.crt
nennen, auch wenn sie ursprünglich einen anderen Namen hatte.Starten Sie den Docker-Dienst neu:
sudo service docker restart
Bestätigen Sie, dass Sie sich in Docker anmelden können:
docker login -u [USERNAME] -p [PASSWORD] [REGISTRY_SERVER]
Dabei sind [USERNAME] und [PASSWORD] die Anmeldedaten für die Anmeldung in der Docker-Registry.
Mögliche Fehler und Lösungen
Get https://[REGISTRY_SERVER]/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
: Stellen Sie sicher, dass Sie die richtige IP-Adresse für die VM haben, auf der die Docker-Registry ausgeführt wird.login attempt to https://[REGISTRY_SERVER]/v2/ failed with status: 401 Unauthorized
: Vergewissern Sie sich, dass Ihr Nutzername und Ihr Passwort korrekt sind.Get https://[REGISTRY_SERVER]/v1/users/: x509: certificate signed by unknown authority
. Ihre Admin-Workstation-VM traut dem Zertifikat nicht.
Wenn Sie während der Installation gkectl prepare
ausführen, werden die für die Installation benötigten Images in Ihre Docker-Registry übertragen.
Problembehebung
Weitere Informationen finden Sie unter Fehlerbehebung.