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
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.
Concedi le autorizzazioni di accesso al repository al tuo account di servizio.
Prepara la VM per accedere al repository.
VM di Compute Engine
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.Aggiorna la cache del pacchetto utilizzando il seguente comando:
sudo yum makecache
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 precedentednf
, se il 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.gpg
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 precedentednf
, se il sistema operativo è Enterprise Linux 8 o versioni successive
DISTRO
con Red Hat Enterprise Linux release principale nel formatoelX
, doveX
rappresenta la pubblicazione completamente gestita. Esempi di valoriDISTRO
validi sonoel7
eel8
.
Aggiorna Yum utilizzando il seguente comando:
sudo yum makecache
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 precedentednf
, se il sistema operativo è Enterprise Linux 8 o versioni successive
Individua la riga
#service_account_json = "/path/to/creds.json"
nel fileartifact-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.- Per i sistemi operativi Enterprise Linux 7 o versioni precedenti, il percorso al file di configurazione è
Repository pubblico
- 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
:
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
Configura lo strumento client
yum
in modo da recuperare i pacchetti dal tuo repository utilizzando il comandotee
dall'output del comandoprint-settings
.Ad esempio, per installare pacchetti dal
my-repo
pubblico nel progettomy-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
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/
.
Vai alla pagina Istanze VM.
Nella riga della VM, fai clic su SSH. Si apre una nuova finestra con del terminale sulla VM.
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]
.Per sostituire completamente il repository di base, rimuovi le impostazioni predefinite in
[base]
.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