Configura le VM per installare i pacchetti RPM

I repository Yum di Artifact Registry ti consentono di controllare quali versioni dei pacchetti RPM vengono installate dalle tue macchine virtuali (VM). Puoi configurare le istanze Compute Engine o le VM esterne per eseguire il pull dei pacchetti dai repository privati o pubblici utilizzando i gestori di pacchetti Yum o DNF.

Prima di iniziare

Se il repository Yum di destinazione non esiste, crea un nuovo repository. Puoi creare un repository privato o un repository pubblico che non richiede l'autenticazione.

Prepara una VM per accedere a un repository Yum

Per preparare una VM ad accedere a un repository Yum, utilizza lo strumento client yum o dnf:

Repository privato

  1. Scegli il account di servizio che utilizzerai per concedere l'accesso.

    • Per le VM di Compute Engine, potrebbe trattarsi del service account predefinito. Artifact Registry recupera automaticamente le credenziali dell'account di servizio della VM di Compute Engine per qualsiasi VM che utilizza un account di servizio.
    • Per le altre VM, crea o scegli un account di servizio che agisca per conto della tua VM. Per configurare la VM, devi conoscere la posizione del file della chiave del account di servizio. Puoi visualizzare e creare chiavi per gli account esistenti nella pagina Service account.
  2. Concedi le autorizzazioni di accesso al repository al tuo account di servizio.

  3. Prepara la VM per accedere al repository.

    VM di Compute Engine

    1. Assegna ambiti di accesso API cloud-platform alla VM. Per informazioni sull'impostazione degli ambiti di accesso, consulta Modifica del account di servizio e degli ambiti di accesso per un'istanza.

    2. Aggiorna la cache del pacchetto utilizzando il seguente comando:

      sudo yum makecache
      
    3. Installa il plug-in Artifact Registry sulla VM utilizzando il seguente comando:

      sudo yum install FORMAT-plugin-artifact-registry
      

      Sostituisci quanto segue:

      • FORMAT con uno dei seguenti elementi:
        • yum, se il tuo sistema operativo è Enterprise Linux 7 o precedente
        • dnf, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive

    Altra VM

    1. Installa la chiave di firma RPM utilizzando il seguente comando:

      sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    2. Crea un file denominato /etc/yum.repos.d/artifact-registry-plugin.repo con i seguenti contenuti:

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

      Sostituisci quanto segue:

      • FORMAT con uno dei seguenti elementi:
        • yum, se il tuo sistema operativo è Enterprise Linux 7 o precedente
        • dnf, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
      • DISTRO con la versione principale di Red Hat Enterprise Linux nel formato elX, dove X è la versione di release. Esempi di valori DISTRO validi sono el7, el8, el9 e el10.
    3. Aggiorna Yum utilizzando il seguente comando:

      sudo yum makecache
      
    4. Installa il plug-in Artifact Registry sulla VM utilizzando il seguente comando:

      yum install FORMAT-plugin-artifact-registry
      

      Sostituisci FORMAT con una delle seguenti opzioni:

      • yum, se il tuo sistema operativo è Enterprise Linux 7 o precedente
      • dnf, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
    5. Trova la riga #service_account_json = "/path/to/creds.json" nel file artifact-registry.conf, quindi rimuovi il commento dalla riga e aggiungi il percorso della chiave del account di servizio.

      • Per i sistemi operativi Enterprise Linux 7 o versioni precedenti, il percorso del file di configurazione è /etc/yum/pluginconf.d/artifact-registry.conf.
      • Per i sistemi operativi Enterprise Linux 8 o versioni successive, il percorso del file di configurazione è /etc/dnf/plugins/artifact-registry.conf.

      Voce del file di configurazione:

      service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
      

      Sostituisci PATH_TO_SERVICE_ACCOUNT_KEY con il percorso del file JSON della chiave del account di servizio.

Repository pubblico

Configura l'accesso pubblico al repository.

Configura una VM per accedere a un repository Yum standard

Per configurare una VM in modo che acceda a un repository Yum, utilizza lo strumento client yum o dnf:

  1. Genera il comando di configurazione della VM eseguendo il comando gcloud beta artifacts print-settings yum:

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

    Sostituisci quanto segue:

    • REPOSITORY è il nome del repository Artifact Registry.
    • LOCATION è la località regionale del repository.

    L'output è simile al seguente:

    # 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. Configura lo strumento client yum per recuperare i pacchetti dal tuo repository utilizzando il comando tee dall'output del comando print-settings.

    Ad esempio, per installare pacchetti dal repository my-repo pubblico nel progetto my-project e nella località u-france-east1, utilizza il seguente comando:

    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. Aggiorna le origini del repository con il seguente comando:

    sudo yum makecache
    

Yum ora può connettersi al repository.

Se crei repository Yum aggiuntivi, crea un file .repo per ciascuno in /etc/yum.repos.d/. Esegui di nuovo sudo yum update per aggiornare le origini del repository.

Passaggi successivi