Configura le VM per installare pacchetti RPM

In questa pagina viene descritta la configurazione delle VM per l'installazione di pacchetti RPM da in un repository Yum di Artifact Registry. I repository Yum di Artifact Registry supportano i client yum e 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 l'account di servizio che utilizzerai per concedere l'accesso.

    • Per le VM di Compute Engine, potrebbe essere account di servizio predefinito. Artifact Registry recupera automaticamente la VM di Compute Engine con le credenziali dell'account di servizio 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. Ti serviranno la posizione del file delle chiavi dell'account di servizio per configurare la VM. Tu può visualizzare e creare chiavi per gli account esistenti sul Account di servizio.
  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 cloud-platform ambiti di accesso API alla VM. Per informazioni su come impostare gli ambiti di accesso, consulta Modificare l'account di servizio e gli ambiti di accesso di 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 valori:
        • yum, se il sistema operativo è Enterprise Linux 7 o precedente
        • dnf, se il 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 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 valori:
        • yum, se il sistema operativo è Enterprise Linux 7 o precedente
        • dnf, se il sistema operativo è Enterprise Linux 8 o versioni successive
      • DISTRO con Red Hat Enterprise Linux release principale nel formato elX, dove X rappresenta la pubblicazione completamente gestita. Esempi di valori DISTRO validi sono el7 e el8.
    3. Aggiorna Yum utilizzando il seguente comando:

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

      yum install FORMAT-plugin-artifact-registry
      

      Sostituisci FORMAT con una delle seguenti opzioni:

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

      • Per i sistemi operativi Enterprise Linux 7 o versioni precedenti, il percorso al file di configurazione è/etc/yum/pluginconf.d/artifact-registry.conf.
      • Per i sistemi operativi Enterprise Linux 8 o versioni successive, il percorso il 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 con le chiavi per l'account di servizio.

Repository pubblico

  1. Configura l'accesso pubblico al repository.

Configurare 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:

    • LOCATION è una località regionale o multiregionale.
    • REPOSITORY è il nome del repository Artifact Registry.

    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.pkg.dev/projects/PROJECT/REPOSITORY
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOL
    
    # Update Yum:
    sudo yum makecache
    
  2. Configura lo strumento client yum in modo da recuperare i pacchetti dal tuo repository utilizzando il comando tee dall'output del comando print-settings.

    Ad esempio, per installare pacchetti dal my-repo pubblico nel progetto my-project e nella località us-central1, usa il seguente comando:

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL
    [my-repo]
    name=My Repository
    baseurl=https://us-central1-yum.pkg.dev/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 altri repository Yum, crea un file .repo per ognuno nel mese di /etc/yum.repos.d/. Esegui di nuovo sudo yum update per aggiornare le origini del repository.

Configura una VM per accedere a un repository Yum remoto

Per configurare una VM in modo che utilizzi solo un repository Yum remoto invece di uno standard il repository Yum a monte, sostituisci il repository standard nel repository della VM con il repository remoto.

Se nel file di configurazione viene definito il repository standard anziché un file di repository separato (.repo) puoi eliminare la voce nella configurazione e sostituirlo con quello remoto oppure definisci un nuovo file di repository nella Directory /etc/yum.repos.d/.

  1. Vai alla pagina Istanze VM.

  2. Nella riga della VM, fai clic su SSH. Si apre una nuova finestra con del terminale sulla VM.

  3. Apri la cartella /etc/yum.repos.d/ della VM e trova il file del repository (.repo) appropriato contenente il repository upstream standard. A volte è definita repository di base. Repository di base possono essere identificati con il nome del repository Yum contenente [base] o [baseos].

  4. Per sostituire completamente il repository di base, rimuovi le impostazioni predefinite in [base].

  5. Aggiungi il seguente codice sotto [base]:

    [base]
    name=YUM_REPOSITORY_NAME
    baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
    enabled=1
    gpgcheck=1
    

    Sostituisci quanto segue:

  • YUM_REPOSITORY_NAME con un ID repository univoco di una parola per il tuo repository Yum remoto. Questo nome può corrispondere al nome del repository upstream se ne hai eliminato la configurazione oppure a un nome diverso per identificarlo come repository remoto.
  • REPOSITORY_NAME con il nome leggibile del repository Git.
    • LOCATION con una o più regioni località del repository remoto.
  • PROJECT_ID con l'ID progetto della VM.
  • REMOTE_REPOSITORY_NAME con il nome che hai assegnato al tuo repository remoto.

Utilizzare un repository Yum remoto come backup

Se vuoi mantenere lo standard upstream come prima opzione e aggiungere repository remoto come opzione di riserva, puoi mantenere l'upstream standard il file del repository e crea un nuovo file di repository nel file /etc/yum.repos.d .

Per creare un nuovo file del repository nella cartella /etc/yum.repos.d, esegui il comando seguente:

sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[YUM_REPOSITORY_NAME]
name=REPOSITORY_NAME
baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
enabled=1
gpgcheck=1
EOF

Sostituisci quanto segue:

  • YUM_REPOSITORY_NAME con un ID repository univoco di una parola per il tuo repository Yum remoto.
  • REPOSITORY_NAME con il nome leggibile del repository.
    • LOCATION con la località regionale o multiregionale del repository remoto.
  • PROJECT_ID con l'ID progetto della VM.
  • REMOTE_REPOSITORY_NAME con il nome che hai assegnato al repository remoto.

Ad esempio, il comando seguente configura la VM per recuperare il repository my-repo nel progetto my-project e nella località us-east1 quando Yum installa il repository my-repo.

sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[my-repo]
name=My Repository
baseurl=https://us-east1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF

Passaggi successivi