Configurer des VM pour installer des packages RPM

Cette page décrit comment configurer les VM pour installer des packages RPM à partir d'un dépôt Yum Artifact Registry. Les dépôts Yum d'Artifact Registry sont compatibles avec Yum et DNF.

Avant de commencer

Si le dépôt Yum cible n'existe pas, créez-en un. Vous pouvez créer un dépôt privé ou un dépôt public ne nécessitant pas d'authentification.

Préparer une VM pour accéder à un dépôt Yum

Pour préparer une VM à l'accès à un dépôt Yum, utilisez Yum ou DNF:

Dépôt privé

  1. Choisissez le compte de service que vous utiliserez pour accorder l'accès.

    • Pour les VM Compute Engine, il peut s'agir du compte de service par défaut.
    • Pour les autres VM, créez ou choisissez un compte de service agissant pour le compte de votre VM. Vous aurez besoin de l'emplacement du fichier de clé du compte de service pour configurer la VM. Vous pouvez afficher et créer des clés pour les comptes existants sur la page Comptes de service.
  2. Accordez des autorisations d'accès au dépôt à votre compte de service.

  3. Préparez la VM pour accéder au dépôt.

    VM Compute Engine

    1. Attribuez des champs d'application d'accès à l'API cloud-platform à la VM. Pour en savoir plus sur la définition des champs d'application d'accès, consultez la section Modifier le compte de service et les champs d'application d'accès d'une instance.

    2. Mettez à jour Yum à l'aide de la commande suivante:

      sudo yum makecache
      
    3. Installez le plug-in Artifact Registry sur la VM à l'aide de la commande suivante:

      sudo yum install FORMAT-plugin-artifact-registry
      

      Remplacez FORMAT par l'un des éléments suivants :

      • yum, si votre système d'exploitation est Enterprise Linux 7 ou une version antérieure
      • dnf, si votre système d'exploitation est Enterprise Linux 8 ou une version ultérieure

    Autre VM

    1. Installez la clé de signature RPM à l'aide de la commande suivante:

      sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    2. Créez un fichier nommé /etc/yum.repos.d/artifact-registry-plugin.repo avec le contenu suivant:

      [ar-plugin]
      name=Artifact Registry Plugin
      baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-stable
      enabled=1
      gpgcheck=1
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
      

      Remplacez FORMAT par l'un des éléments suivants :

      • yum, si votre système d'exploitation est Enterprise Linux 7 ou une version antérieure
      • dnf, si votre système d'exploitation est Enterprise Linux 8 ou une version ultérieure
    3. Mettez à jour Yum à l'aide de la commande suivante:

      sudo yum makecache
      
    4. Installez le plug-in Artifact Registry sur la VM à l'aide de la commande suivante:

      yum install FORMAT-plugin-artifact-registry
      

      Remplacez FORMAT par l'un des éléments suivants :

      • yum, si votre système d'exploitation est Enterprise Linux 7 ou une version antérieure
      • dnf, si votre système d'exploitation est Enterprise Linux 8 ou une version ultérieure
    5. Recherchez la ligne #service_account_json = "/path/to/creds.json" dans le fichier artifact-registry.conf, puis annulez la mise en commentaire de la ligne et ajoutez le chemin d'accès de la clé de votre compte de service.

      • Pour les systèmes d'exploitation Enterprise Linux 7 ou versions antérieures, le chemin d'accès au fichier de configuration est /etc/yum/pluginconf.d/artifact-registry.conf.
      • Pour les systèmes d'exploitation Enterprise Linux 8 ou version ultérieure, le chemin d'accès au fichier de configuration est /etc/dnf/plugins/artifact-registry.conf.

      Entrée du fichier de configuration :

      service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
      

      Remplacez PATH_TO_SERVICE_ACCOUNT_KEY par le chemin d'accès au fichier JSON de votre clé de compte de service.

Dépôt public

  1. Configurez l'accès public au dépôt.

Configurer une VM pour accéder à un dépôt Yum

Pour configurer une VM pour accéder à un dépôt Yum, utilisez Yum ou DNF:

  1. Configurez Yum pour récupérer les packages de votre dépôt à l'aide de la commande suivante:

    sudo tee -a  /etc/yum.repos.d/FILE_NAME.repo << EOF
    [REPOSITORY_ID]
    name=REPOSITORY_NAME
    baseurl=https://LOCATION-yum.pkg.dev/projects/PROJECT/REPOSITORY
    enabled=1
    gpgcheck=SIGNED_PACKAGES
    EOF
    

    Remplacez les valeurs suivantes :

    • FILE_NAME est un nom de fichier .repo unique.
    • REPOSITORY_ID est un identifiant à mot unique pour le dépôt. L'identifiant doit être unique dans tous les dépôts configurés dans Yum.
    • REPOSITORY_NAME est un nom lisible pour votre dépôt.
    • PROJECT est l'ID de votre projet Google Cloud.
    • LOCATION est un emplacement régional ou multirégional.
    • REPOSITORY est le nom du dépôt.
    • SIGNED_PACKAGES est l'une des valeurs suivantes :

      • 1 si vous signez les packages RPM que vous diffusez à partir du dépôt.
      • 0 si vous ne signez pas de packages RPM diffusés depuis le dépôt.

      Pour plus d'informations sur la signature des packages RPM, consultez la documentation Red Hat.

    Prenons l'exemple d'un dépôt présentant les caractéristiques suivantes:

    • ID du dépôt Yum: my-repo
    • Nom du dépôt Yum: My Repository
    • ID du projet : my-project
    • Emplacement du dépôt Artifact Registry: us-central1
    • Nom du dépôt Artifact Registry: my-repo
    • Les packages sont signés

    Le fichier /etc/yum.repos.d/my-repo.repo définit les paramètres du dépôt:

    [my-repo]
    name=My Repository
    baseurl=https://us-central1-yum.pkg.dev/projects/my-project/my-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    
  2. Mettez à jour vos sources de dépôt à l'aide de la commande suivante:

    sudo yum makecache
    

Yum peut désormais se connecter au dépôt.

Si vous créez des dépôts Yum supplémentaires, créez un fichier .repo pour chacun dans /etc/yum.repos.d/. Réexécutez sudo yum update pour mettre à jour les sources du dépôt.

Étape suivante