Configurer un registre Docker privé

Cette page explique comment configurer un registre Docker existant pour GKE On-Prem.

.

Présentation

GKE On-Prem ne prend pas en charge les registres Docker non sécurisés. Lorsque vous démarrez votre registre Docker, vous devez fournir un certificat et une clé. Le certificat peut être signé par une autorité de certification publique ou il peut être autosigné.

Créer un registre Docker

Pour savoir comment créer un registre Docker, consultez la section Run an externally-accessible registry (Exécuter un registre accessible en externe).

Configurer le registre

La VM de votre poste de travail administrateur doit approuver l'autorité de certification qui a signé votre certificat. Pour établir cette confiance, procédez comme suit sur la VM de votre poste de travail administrateur :

  1. Créez un répertoire qui conservera le certificat :

    sudo mkdir -p /etc/docker/certs.d/[REGISTRY_SERVER]

    [REGISTRY_SERVER] est l'adresse IP ou le nom d'hôte de la VM qui exécute votre registre Docker.

  2. Copiez le fichier de certificat dans /etc/docker/certs.d/[REGISTRY_SERVER]/ca.crt. Vous devez nommer le fichier ca.crt, même si son nom était différent à l'origine.

  3. Redémarrez le service Docker :

    sudo service docker restart
  4. Vérifiez que vous pouvez vous connecter à Docker :

    docker login -u [USERNAME] -p [PASSWORD] [REGISTRY_SERVER]

    [USERNAME] et [PASSWORD] sont les identifiants de connexion au registre Docker.

    Erreurs et solutions possibles

    • Get https://[REGISTRY_SERVER]/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). Assurez-vous d'avoir la bonne adresse IP pour la VM qui exécute votre registre Docker.

    • login attempt to https://[REGISTRY_SERVER]/v2/ failed with status: 401 Unauthorized. Assurez-vous que votre nom d'utilisateur et votre mot de passe sont corrects.

    • Get https://[REGISTRY_SERVER]/v1/users/: x509: certificate signed by unknown authority. La VM de votre poste de travail administrateur ne fait pas confiance au certificat.

Lorsque vous exécutez gkectl prepare pendant l'installation, les images nécessaires à l'installation sont transférées vers votre registre Docker.

Dépannage

Pour en savoir plus, consultez Dépannage.