Configura VMs para instalar paquetes RPM

En esta página, se describe cómo configurar VMs para instalar paquetes RPM desde un repositorio de Yum de Artifact Registry. Los repositorios de Yum de Artifact Registry admiten clientes yum y dnf.

Antes de comenzar

Si el repositorio de Yum de destino no existe, crea uno nuevo. Puedes crear un repositorio privado o uno público que no requiera autenticación.

Prepara una VM para acceder a un repositorio de Yum

Para preparar una VM para acceder a un repositorio de Yum, usa la herramienta cliente yum o dnf:

Repositorio privado

  1. Elige la cuenta de servicio que usarás para otorgar acceso.

    • En el caso de las VMs de Compute Engine, podría ser la cuenta de servicio predeterminada. Artifact Registry recupera automáticamente las credenciales de la cuenta de servicio de la VM de Compute Engine para cualquier VM que use una cuenta de servicio.
    • En el caso de otras VMs, crea o elige una cuenta de servicio para que actúe en nombre de tu VM. Necesitarás la ubicación del archivo de claves de la cuenta de servicio para configurar la VM. Puedes ver y crear claves para las cuentas existentes en la página Cuentas de servicio.
  2. Otorga permisos de acceso al repositorio a tu cuenta de servicio.

  3. Prepara la VM para acceder al repositorio.

    VM de Compute Engine

    1. Asigna permisos de acceso a la API de cloud-platform a la VM. Para obtener información sobre cómo configurar permisos de acceso, consulta Cambia la cuenta de servicio y los permisos de acceso para una instancia.

    2. Actualiza la caché del paquete con el siguiente comando:

      sudo yum makecache
      
    3. Instala el complemento de Artifact Registry en la VM con el siguiente comando:

      sudo yum install FORMAT-plugin-artifact-registry
      

      Reemplaza lo siguiente:

      • FORMAT por uno de los siguientes valores:
        • yum, si tu sistema operativo es Enterprise Linux 7 o una versión anterior
        • dnf, si tu sistema operativo es Enterprise Linux 8 o posterior

    Otra VM

    1. Instala la clave de firma de RPM con el siguiente comando:

      sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    2. 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
      

      Reemplaza lo siguiente:

      • FORMAT por uno de los siguientes valores:
        • yum, si tu sistema operativo es Enterprise Linux 7 o una versión anterior
        • dnf, si tu sistema operativo es Enterprise Linux 8 o posterior
      • DISTRO con la versión principal de Red Hat Enterprise Linux en el formato elX, en el que X es la versión de lanzamiento. Ejemplos de valores DISTRO válidos son el7 y el8.
    3. Actualiza Yum con el siguiente comando:

      sudo yum makecache
      
    4. Instala el complemento de Artifact Registry en la VM con el siguiente comando:

      yum install FORMAT-plugin-artifact-registry
      

      Reemplaza FORMAT por uno de los siguientes valores:

      • yum, si tu sistema operativo es Enterprise Linux 7 o una versión anterior
      • dnf, si tu sistema operativo es Enterprise Linux 8 o posterior
    5. Busca la línea #service_account_json = "/path/to/creds.json" en el archivo artifact-registry.conf, quita el comentario de la línea y agrega la ruta de acceso a la clave de tu cuenta de servicio.

      • En el caso de los sistemas operativos Enterprise Linux 7 o versiones anteriores, la ruta de acceso al archivo de configuración es /etc/yum/pluginconf.d/artifact-registry.conf.
      • Para los sistemas operativos Enterprise Linux 8 o versiones posteriores, la ruta de acceso al 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"
      

      Reemplaza PATH_TO_SERVICE_ACCOUNT_KEY por la ruta de acceso al archivo JSON de la clave de tu cuenta de servicio.

Repositorio público

Configura el acceso público al repositorio.

Configura una VM para acceder a un repositorio de Yum estándar

Para configurar una VM para que acceda a un repositorio de Yum, usa la herramienta de cliente yum o dnf:

  1. Para generar el comando de configuración de la VM, ejecuta el comando gcloud beta artifacts print-settings yum:

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

    Reemplaza lo siguiente:

    • REPOSITORY es el nombre del repositorio de Artifact Registry.
    • LOCATION es la ubicación regional del repositorio.

    El resultado es similar a este:

    # 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 la herramienta cliente de yum para recuperar paquetes de tu repositorio con el comando tee del resultado del comando print-settings.

    Por ejemplo, para instalar paquetes del my-repo público en el proyecto my-project y en la ubicación u-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
    
  3. Actualiza las fuentes de tu repositorio con el siguiente comando:

    sudo yum makecache
    

Ahora Yum puede conectarse al repositorio.

Si creas repositorios de Yum adicionales, crea un archivo .repo para cada uno en /etc/yum.repos.d/. Vuelve a ejecutar sudo yum update para actualizar las fuentes del repositorio.

¿Qué sigue?