Configurar VMs para instalar pacotes RPM

Nesta página, descrevemos como configurar VMs para instalar pacotes RPM de um repositório Yum do Artifact Registry. Os repositórios Yum do Artifact Registry são compatíveis com clientes yum e dnf.

Antes de começar

Se o repositório Yum de destino não existir, crie um novo repositório. É possível criar um repositório privado ou um repositório público que não exija autenticação.

Preparar uma VM para acessar um repositório do Yum

Para preparar uma VM para acessar um repositório Yum, use a ferramenta de cliente yum ou dnf:

Repositório particular

  1. Escolha a conta de serviço que você vai usar para conceder acesso.

    • Para VMs do Compute Engine, pode ser a conta de serviço padrão. O Artifact Registry recupera automaticamente as credenciais da conta de serviço da VM do Compute Engine para qualquer VM que use uma conta de serviço.
    • Para outras VMs, crie ou escolha uma conta de serviço para agir em nome da VM. Você precisará do local do arquivo de chave da conta de serviço para configurar a VM. É possível ver e criar chaves para contas atuais na página Contas de serviço.
  2. Conceda permissões de acesso ao repositório à sua conta de serviço.

  3. Prepare a VM para acessar o repositório.

    VM do Compute Engine

    1. Atribua cloud-platform escopos de acesso à API à VM. Para informações sobre como definir escopos de acesso, consulte Como mudar a conta de serviço e os escopos de acesso de uma instância.

    2. Atualize o cache de pacotes usando o seguinte comando:

      sudo yum makecache
      
    3. Instale o plug-in do Artifact Registry na VM usando o seguinte comando:

      sudo yum install FORMAT-plugin-artifact-registry
      

      Substitua:

      • FORMAT por um destes procedimentos:
        • yum, se o sistema operacional for Enterprise Linux 7 ou anterior
        • dnf, se o sistema operacional for Enterprise Linux 8 ou mais recente

    Outra VM

    1. Instale a chave de assinatura do RPM usando o seguinte comando:

      sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    2. Crie um arquivo chamado /etc/yum.repos.d/artifact-registry-plugin.repo com o seguinte conteúdo:

      [ar-plugin]
      name=Artifact Registry Plugin
      baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable
      enabled=1
      gpgcheck=1
      

      Substitua:

      • FORMAT por um destes procedimentos:
        • yum, se o sistema operacional for Enterprise Linux 7 ou anterior
        • dnf, se o sistema operacional for Enterprise Linux 8 ou mais recente
      • DISTRO com a versão principal do Red Hat Enterprise Linux no formato elX, em que X é a versão de lançamento. Exemplos de valores DISTRO válidos são el7 e el8.
    3. Atualize o Yum usando o seguinte comando:

      sudo yum makecache
      
    4. Instale o plug-in do Artifact Registry na VM usando o seguinte comando:

      yum install FORMAT-plugin-artifact-registry
      

      Substitua FORMAT por um dos seguintes:

      • yum, se o sistema operacional for Enterprise Linux 7 ou anterior
      • dnf, se o sistema operacional for Enterprise Linux 8 ou mais recente
    5. Encontre a linha #service_account_json = "/path/to/creds.json" no arquivo artifact-registry.conf, remova o comentário da linha e adicione o caminho da chave da sua conta de serviço.

      • Para sistemas operacionais Enterprise Linux 7 ou anteriores, o caminho para o arquivo de configuração é /etc/yum/pluginconf.d/artifact-registry.conf.
      • Para sistemas operacionais Enterprise Linux 8 ou mais recentes, o caminho para o arquivo de configuração é /etc/dnf/plugins/artifact-registry.conf.

      Entrada do arquivo de configuração:

      service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
      

      Substitua PATH_TO_SERVICE_ACCOUNT_KEY pelo caminho para o arquivo JSON da chave da conta de serviço.

Repositório público

Configure o acesso público ao repositório.

Configurar uma VM para acessar um repositório Yum padrão

Para configurar uma VM para acessar um repositório Yum, use a ferramenta de cliente yum ou dnf:

  1. Gere o comando de configuração da VM executando o comando gcloud beta artifacts print-settings yum:

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

    Substitua:

    • REPOSITORY é o nome do repositório do Artifact Registry.
    • LOCATION é o local regional do repositório.

    O resultado será assim:

    # 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. Configure a ferramenta de cliente yum para buscar pacotes do seu repositório usando o comando tee na saída do comando print-settings.

    Por exemplo, para instalar pacotes do my-repo público no projeto my-project e no local u-france-east1, use o seguinte 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. Atualize as fontes do repositório com o seguinte comando:

    sudo yum makecache
    

Agora o Yum pode se conectar ao repositório.

Se você criar outros repositórios do Yum, crie um arquivo .repo para cada um em /etc/yum.repos.d/. Execute sudo yum update novamente para atualizar as origens do repositório.

A seguir