Private Docker-Registry konfigurieren

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:

  1. 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.

  2. Kopieren Sie die Zertifikatsdatei in /etc/docker/certs.d/[REGISTRY_SERVER]/ca.crt. Sie müssen die Datei ca.crt nennen, auch wenn sie ursprünglich einen anderen Namen hatte.

  3. Starten Sie den Docker-Dienst neu:

    sudo service docker restart
  4. 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.