Configurer des VM pour installer des paquets RPM

Cette page explique comment configurer des VM pour installer des packages RPM à partir d'un dépôt Yum Artifact Registry. Les dépôts Yum Artifact Registry sont compatibles avec les clients 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 qui ne nécessite pas d'authentification.

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

Pour préparer une VM à accéder à un dépôt Yum, utilisez l'outil client 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. Artifact Registry récupère automatiquement les identifiants du compte de service de la VM Compute Engine pour toute VM utilisant un compte de service.
    • Pour les autres VM, créez ou sélectionnez un compte de service pour agir au nom de votre VM. Vous aurez besoin de l'emplacement du fichier de clé de 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 les niveaux d'accès aux API cloud-platform à la VM. Pour en savoir plus sur la définition des niveaux d'accès, consultez Modifier le compte de service et les niveaux d'accès d'une instance.

    2. Mettez à jour le cache du package à 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 les éléments suivants :

      • FORMAT par l'un des éléments suivants :
        • yum, si votre système d'exploitation est Enterprise Linux 7 ou version antérieure
        • dnf, si votre système d'exploitation est Enterprise Linux 8 ou 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-DISTRO-stable
      enabled=1
      gpgcheck=1
      

      Remplacez les éléments suivants :

      • FORMAT par l'un des éléments suivants :
        • yum, si votre système d'exploitation est Enterprise Linux 7 ou version antérieure
        • dnf, si votre système d'exploitation est Enterprise Linux 8 ou version ultérieure
      • DISTRO avec la version majeure de Red Hat Enterprise Linux au format elX, où X correspond à la version. Voici des exemples de valeurs DISTRO valides : el7 et el8.
    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 version antérieure
      • dnf, si votre système d'exploitation est Enterprise Linux 8 ou version ultérieure
    5. Recherchez la ligne #service_account_json = "/path/to/creds.json" dans le fichier artifact-registry.conf, puis supprimez le commentaire de la ligne et ajoutez le chemin d'accès à la clé de votre compte de service.

      • Pour les systèmes d'exploitation Enterprise Linux 7 ou version antérieure, 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 clé de votre compte de service.

Dépôt public

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

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

Pour configurer une VM afin qu'elle puisse accéder à un dépôt Yum, utilisez l'outil client yum ou dnf :

  1. Générez la commande de configuration de la VM en exécutant la commande gcloud beta artifacts print-settings yum :

    gcloud beta artifacts print-settings yum \
        --repository=REPOSITORY \
        --location=LOCATION
    

    Remplacez les éléments suivants :

    • REPOSITORY est le nom du dépôt Artifact Registry.
    • LOCATION est l'emplacement régional du dépôt.

    Le résultat ressemble à ce qui suit :

    # To configure your package manager with this repository:
    
    # Update Yum:
    sudo yum makecache
    
    # Install the Yum credential helper:
    sudo yum install yum-plugin-artifact-registry
    
    # Configure your VM to access Artifact Registry packages using the following
    # command:
    
    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [REPOSITORY]
    name=REPOSITORY
    baseurl=https://LOCATION-yum.s3nsregistry.fr/projects/PROJECT/REPOSITORY
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
    # Update Yum:
    sudo yum makecache
    
  2. Configurez l'outil client yum pour extraire les packages de votre dépôt à l'aide de la commande tee à partir de la sortie de la commande print-settings.

    Par exemple, pour installer des packages à partir du dépôt public my-repo dans le projet my-project et à l'emplacement u-france-east1, utilisez la commande suivante :

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [my-repo]
    name=My Repository
    baseurl=https://u-france-east1-yum.s3nsregistry.fr/projects/my-project/my-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
  3. Mettez à jour les sources de votre 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 d'eux dans /etc/yum.repos.d/. Exécutez à nouveau sudo yum update pour mettre à jour les sources du dépôt.

Étapes suivantes