Questa pagina descrive la configurazione delle VM per l'installazione di pacchetti RPM da
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, creane uno nuovo. 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
Scegli il account di servizio che utilizzerai per concedere l'accesso.
- Per le VM Compute Engine, potrebbe trattarsi dell'account di servizio predefinito. Artifact Registry recupera automaticamente le credenziali del account di servizio VM di Compute Engine per qualsiasi VM che utilizza un account di servizio.
- Per le altre VM, crea o scegli unaccount di serviziot che agisca per conto della VM. Per configurare la VM, avrai bisogno del percorso del file della chiave delaccount di serviziot. Puoi visualizzare e creare chiavi per gli account esistenti nella pagina Account di servizio.
Concedi le autorizzazioni di accesso al repository al tuo account di servizio.
Prepara la VM per accedere al repository.
VM di Compute Engine
Assegna ambiti di accesso API
cloud-platformalla VM. Per informazioni sull'impostazione degli ambiti di accesso, vedi Modifica del account di servizio e degli ambiti di accesso per un'istanza.Aggiorna la cache del pacchetto utilizzando il seguente comando:
sudo yum makecacheInstalla il plug-in Artifact Registry sulla VM utilizzando il seguente comando:
sudo yum install FORMAT-plugin-artifact-registrySostituisci quanto segue:
FORMATcon uno dei seguenti elementi:yum, se il tuo sistema operativo è Enterprise Linux 7 o versioni precedentidnf, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
Altra VM
Installa la chiave di firma RPM utilizzando il seguente comando:
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpgCrea un file denominato
/etc/yum.repos.d/artifact-registry-plugin.repocon il seguente contenuto:[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:
FORMATcon uno dei seguenti elementi:yum, se il tuo sistema operativo è Enterprise Linux 7 o versioni precedentidnf, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
DISTROcon la release principale di Red Hat Enterprise Linux nel formatoelX, doveXè la versione della release. Esempi di valoriDISTROvalidi sonoel7eel8.
Aggiorna Yum utilizzando il seguente comando:
sudo yum makecacheInstalla il plug-in Artifact Registry sulla VM utilizzando il seguente comando:
yum install FORMAT-plugin-artifact-registrySostituisci
FORMATcon una delle seguenti opzioni:yum, se il tuo sistema operativo è Enterprise Linux 7 o versioni precedentidnf, se il tuo sistema operativo è Enterprise Linux 8 o versioni successive
Trova la riga
#service_account_json = "/path/to/creds.json"nel fileartifact-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_KEYcon il percorso del file JSON della chiave dell'account di servizio.- Per i sistemi operativi Enterprise Linux 7 o versioni precedenti, il percorso
del file di configurazione è
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:
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=LOCATIONSostituisci quanto segue:
REPOSITORYè il nome del repository Artifact Registry.-
LOCATIONè la posizione regionale o multiregionale 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.pkg.dev/projects/PROJECT/REPOSITORY enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL # Update Yum: sudo yum makecache
Configura lo strumento client
yumper recuperare i pacchetti dal repository utilizzando il comandoteedall'output del comandoprint-settings.Ad esempio, per installare pacchetti dal repository pubblico
my-reponel progettomy-projecte nella localitàus-west1, utilizza il seguente comando:sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [my-repo] name=My Repository baseurl=https://us-west1-yum.pkg.dev/projects/my-project/my-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL
Aggiorna le origini del repository con il seguente comando:
sudo yum makecache
Ora Yum può connettersi al repository.
Se crei repository Yum aggiuntivi, crea un file .repo per ognuno
in /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 anziché un repository Yum upstream standard, sostituisci il repository standard nell'elenco dei repository della VM con il repository remoto.
Se il repository standard è definito nel file di configurazione anziché in un file di repository separato (.repo), puoi eliminare la voce nel file di configurazione e sostituirla con il tuo repository remoto oppure definire un nuovo file di repository nella directory /etc/yum.repos.d/.
Vai alla pagina Istanze VM.
Nella riga della tua VM, fai clic su SSH. Si apre una nuova finestra con una sessione del terminale sulla VM.
Apri la cartella
/etc/yum.repos.d/della VM e trova il file del repository appropriato (.repo) che contiene il repository upstream standard. A volte è chiamato repository di base. Il repository di base può essere identificato dal nome del repository Yum contenente[base]o[baseos].Per sostituire completamente il repository di base, rimuovi le impostazioni predefinite in
[base]o[baseos]. Se vuoi mantenere il repository upstream standard e aggiungere il repository remoto come opzione di riserva, non rimuovere le impostazioni predefinite.Aggiungi le seguenti impostazioni in
[base]o[baseos]:name=YUM_REPOSITORY_NAME baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME enabled=1 gpgcheck=1Sostituisci quanto segue:
YUM_REPOSITORY_NAMEcon un ID repository univoco di una sola parola per il tuo repository Yum remoto. Questo nome può corrispondere al nome del repository upstream se hai eliminato la configurazione standard del repository upstream oppure, se mantieni il repository upstream standard, puoi utilizzare un nome diverso per identificarlo come repository remoto.-
LOCATIONè la posizione regionale o multiregionale del repository. PROJECT_IDcon l'ID progetto della VM.REMOTE_REPOSITORY_NAMEcon il nome leggibile del repository remoto.
Utilizzare un repository Yum remoto come backup
Se vuoi mantenere l'upstream standard come prima opzione e aggiungere il
repository remoto come opzione di riserva, puoi mantenere l'upstream standard nel
file del repository e creare un nuovo file del repository nella cartella /etc/yum.repos.d.
Per creare un nuovo file del repository nella cartella /etc/yum.repos.d, esegui questo comando:
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_NAMEcon un ID repository univoco di una sola parola per il tuo repository Yum remoto.REPOSITORY_NAMEcon il nome leggibile del repository.LOCATIONcon la posizione regionale o multiregionale del repository remoto.PROJECT_IDcon l'ID progetto della VM.REMOTE_REPOSITORY_NAMEcon il nome che hai dato al repository remoto.
Ad esempio, il seguente comando configura la VM per recuperare il repository
my-repo nel progetto my-project e nella località us-west1 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-west1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF