Résoudre les problèmes liés aux images de conteneurs

Découvrez les étapes de dépannage qui pourraient vous être utiles si vous rencontrez des problèmes pour gérer les images de conteneurs dans Artifact Registry.

Impossible d'extraire une image ou de la déployer dans un environnement d'exécution Google Cloud

Vérifiez les éléments suivants :

  1. Vérifiez que le chemin d'accès complet de l'image que vous transférez est correct. Le chemin d'accès doit inclure le nom d'hôte du registre, l'ID du projet Google Cloud, le dépôt et l'image. Exemple :

    us-east1-docker.pkg.dev/my-project/my-repo/my-image:v1
    

    Pour en savoir plus, consultez la section Noms des dépôts et des images.

  2. Vérifiez que le compte qui extrait l'image dispose des autorisations nécessaires pour lire les données du dépôt.

    • Le compte de service Cloud Build par défaut dispose d'autorisations de lecture et d'écriture sur les dépôts du même projet Google Cloud. Si vous utilisez un compte de service fourni par l'utilisateur ou si vous transférez et extrayez des images entre des projets, attribuez le rôle de rédacteur Artifact Registry au compte de service qui exécute des compilations.
    • Par défaut, Compute Engine, Cloud Run et Google Kubernetes Engine disposent d'autorisations de lecture pour les dépôts d'un même projet. Si Artifact Registry se trouve dans un projet différent de l'environnement d'exécution, vous devez attribuer le rôle de lecteur Artifact Registry au compte de service d'exécution.
    • Si vous utilisez Docker ou un autre outil tiers, vous devez:

Impossible de transférer une image vers Artifact Registry.

Vérifiez les éléments suivants :

  1. Vérifiez que le dépôt existe. Contrairement à Container Registry, la création du dépôt est une opération distincte du transfert de la première image. Si le dépôt n'existe pas, créez-le.

  2. Vérifiez que le chemin d'accès complet de l'image que vous transférez est correct. Le chemin d'accès doit inclure le nom d'hôte du registre, l'ID du projet Google Cloud, le dépôt et l'image. Exemple :

    us-east1-docker.pkg.dev/my-project/my-repo/my-image:v1
    

    Chaque dépôt Artifact Registry est une ressource distincte. Vous ne pouvez donc pas transférer une image vers un chemin sans dépôt. Par exemple, us-east1-docker.pkg.dev/my-project/my-image:v1 est un chemin d'accès d'image non valide.

    Pour en savoir plus, consultez la section Noms des dépôts et des images.

  3. Vérifiez que le compte qui transfère l'image dispose des autorisations nécessaires pour écrire dans le dépôt.

    • Le compte de service Cloud Build par défaut dispose d'autorisations de lecture et d'écriture sur les dépôts du même projet Google Cloud. Si vous utilisez un compte de service fourni par l'utilisateur ou si vous transférez et extrayez des images entre des projets, attribuez le rôle de rédacteur Artifact Registry au compte de service qui exécute des compilations.
    • Par défaut, Compute Engine, Cloud Run et Google Kubernetes Engine disposent d'autorisations de lecture pour les dépôts d'un même projet. Si vous utilisez un outil tiers dans ces environnements pour transférer des images, vous devez attribuer le rôle de rédacteur Artifact Registry au compte de service d'exécution.

Messages ImagePullBackOff et ErrImagePull

Les messages comportant ImagePullBackOff et ErrImagePull indiquent qu'un cluster ne peut pas être extrait de GKE.