En esta página se describe cómo configurar máquinas virtuales para instalar paquetes RPM desde un repositorio Yum de Artifact Registry. Los repositorios Yum de Artifact Registry son compatibles con los clientes yum
y dnf
.
Antes de empezar
Si el repositorio Yum de destino no existe, crea uno. Puedes crear un repositorio privado o un repositorio público que no requiera autenticación.
Preparar una VM para acceder a un repositorio de Yum
Para preparar una VM para acceder a un repositorio de Yum, usa la herramienta de cliente yum
o dnf
:
Repositorio privado
Elige la cuenta de servicio que vas a usar para conceder acceso.
- En el caso de las VMs de Compute Engine, puede ser la cuenta de servicio predeterminada. Artifact Registry obtiene automáticamente las credenciales de la cuenta de servicio de la VM de Compute Engine de cualquier VM que use una cuenta de servicio.
- En el caso de otras máquinas virtuales, crea o elige una cuenta de servicio para que actúe en nombre de tu máquina virtual. Necesitarás la ubicación del archivo de clave de la cuenta de servicio para configurar la VM. Puedes ver y crear claves para cuentas disponibles en la página Cuentas de servicio.
Concede permisos de acceso al repositorio a tu cuenta de servicio.
Prepara la VM para acceder al repositorio.
VM de Compute Engine
Asigna
cloud-platform
permisos de acceso a la API a la VM. Para obtener información sobre cómo definir los ámbitos de acceso, consulta el artículo Cambiar la cuenta de servicio y los ámbitos de acceso de una instancia.Actualiza la caché de paquetes con el siguiente comando:
sudo yum makecache
Instala el complemento Artifact Registry en la VM con el siguiente comando:
sudo yum install FORMAT-plugin-artifact-registry
Haz los cambios siguientes:
FORMAT
con una de las siguientes opciones:yum
, si tu sistema operativo es Enterprise Linux 7 o una versión anteriordnf
, si tu sistema operativo es Enterprise Linux 8 o una versión posterior
Otra VM
Instala la clave de firma RPM con el siguiente comando:
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Crea un archivo llamado
/etc/yum.repos.d/artifact-registry-plugin.repo
con el siguiente contenido:[ar-plugin] name=Artifact Registry Plugin baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable enabled=1 gpgcheck=1
Haz los cambios siguientes:
FORMAT
con una de las siguientes opciones:yum
, si tu sistema operativo es Enterprise Linux 7 o una versión anteriordnf
, si tu sistema operativo es Enterprise Linux 8 o una versión posterior
DISTRO
con la versión principal de Red Hat Enterprise Linux en el formatoelX
, dondeX
es la versión. Estos son ejemplos de valores deDISTRO
válidos:el7
yel8
.
Actualiza Yum con el siguiente comando:
sudo yum makecache
Instala el complemento Artifact Registry en la VM con el siguiente comando:
yum install FORMAT-plugin-artifact-registry
Sustituye
FORMAT
por una de las siguientes opciones:yum
, si tu sistema operativo es Enterprise Linux 7 o una versión anteriordnf
, si tu sistema operativo es Enterprise Linux 8 o una versión posterior
Busca la línea
#service_account_json = "/path/to/creds.json"
en el archivoartifact-registry.conf
, descoméntala y añade la ruta de la clave de tu cuenta de servicio.- En los sistemas operativos Enterprise Linux 7 o versiones anteriores, la ruta al archivo de configuración es
/etc/yum/pluginconf.d/artifact-registry.conf
. - En los sistemas operativos Enterprise Linux 8 o versiones posteriores, la ruta del archivo de configuración es
/etc/dnf/plugins/artifact-registry.conf
.
Entrada del archivo de configuración:
service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
Sustituye
PATH_TO_SERVICE_ACCOUNT_KEY
por la ruta al archivo JSON de la clave de tu cuenta de servicio.- En los sistemas operativos Enterprise Linux 7 o versiones anteriores, la ruta al archivo de configuración es
Repositorio público
Configura el acceso público al repositorio.
Configurar una VM para acceder a un repositorio Yum estándar
Para configurar una máquina virtual de forma que acceda a un repositorio de Yum, usa la herramienta de cliente yum
o dnf
:
Genera el comando de configuración de la VM ejecutando el comando
gcloud beta artifacts print-settings yum
:gcloud beta artifacts print-settings yum \ --repository=REPOSITORY \ --location=LOCATION
Haz los cambios siguientes:
REPOSITORY
es el nombre del repositorio de Artifact Registry.-
LOCATION
es la ubicación regional del repositorio.
El resultado debería ser similar al siguiente:
# 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
Configura la herramienta de cliente
yum
para que obtenga paquetes de tu repositorio con el comandotee
de la salida del comandoprint-settings
.Por ejemplo, para instalar paquetes del
my-repo
público en el proyectomy-project
y en la ubicaciónu-france-east1
, usa el siguiente 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
Actualiza las fuentes de tu repositorio con el siguiente comando:
sudo yum makecache
Ahora Yum puede conectarse al repositorio.
Si crea repositorios Yum adicionales, cree un archivo .repo
para cada uno de ellos en /etc/yum.repos.d/
. Vuelve a ejecutar sudo yum update
para actualizar las fuentes del repositorio.