Configura le VM per installare i pacchetti Debian

La configurazione delle istanze di macchine virtuali (VM) per la connessione a un repository Apt di Artifact Registry consente di installare e aggiornare i pacchetti Debian utilizzando gli strumenti Apt standard. Puoi configurare l'autenticazione e le origini dei repository per le VM di Compute Engine per eseguire il pull dei pacchetti da repository privati o pubblici.

Prima di iniziare

Se il repository Apt di destinazione non esiste, creane uno standard. Puoi creare un repository privato o un repository pubblico che non richiede l'autenticazione.

Prepara una VM per accedere a un repository Apt

Repository privato

  1. Scegli il account di servizio che utilizzerai per concedere l'accesso.

    • Per le VM di Compute Engine, potrebbe trattarsi del service account predefinito. Artifact Registry recupera automaticamente le credenziali dell'account di servizio VM di Compute Engine 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 VM. Per configurare la VM, avrai bisogno della posizione del file della chiave del account di servizio. Puoi visualizzare e creare chiavi per gli account esistenti nella pagina Service Accounts.
  2. Concedi le autorizzazioni di accesso al repository al tuo account di servizio.

  3. Prepara la VM per accedere al repository.

    VM di Compute Engine

    VM Debian

    1. Assegna ambiti di accesso API cloud-platform alla VM. Per informazioni sulla configurazione degli ambiti di accesso, consulta Modifica del account di servizio e degli ambiti di accesso per un'istanza.

    2. Aggiorna Apt utilizzando il seguente comando:

      sudo apt update
      
    3. Installa il pacchetto apt-transport-artifact-registry sulla VM:

      sudo apt install apt-transport-artifact-registry
      

    VM Ubuntu

    1. Installa le chiavi di firma del repository Apt utilizzando il seguente comando:

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpg
      

      Sostituisci LOCATION con la posizione regionale del repository.

    2. Assegna ambiti di accesso API cloud-platform alla VM. Per informazioni sulla configurazione degli ambiti di accesso, consulta Modifica del account di servizio e degli ambiti di accesso per un'istanza.

    3. Configura la VM per accedere ai pacchetti Artifact Registry utilizzando il seguente comando:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    4. Aggiorna Apt utilizzando il seguente comando:

      sudo apt update
      
    5. Installa il pacchetto apt-transport-artifact-registry sulla VM:

      sudo apt install apt-transport-artifact-registry
      

    Altra VM

    1. Installa le chiavi di firma del repository Apt utilizzando il seguente comando:

      curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-sdk.gpg
      

      Sostituisci LOCATION con la posizione regionale del repository.

    2. Configura la VM per accedere ai pacchetti Artifact Registry utilizzando il seguente comando:

      echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
      
    3. Aggiorna Apt utilizzando il seguente comando:

      sudo apt update
      
    4. Installa il pacchetto apt-transport-artifact-registry sulla VM:

      sudo apt install apt-transport-artifact-registry
      
    5. Trova la riga #Service-Account-JSON "/path/to/creds.json"; nel file /etc/apt/apt.conf.d/90artifact-registry, quindi rimuovi il commento dalla riga e aggiungi il percorso della chiave del account di servizio.

      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 della chiave dell'account di servizio.

Repository pubblico

  1. Configura l'accesso pubblico al repository.

  2. Se stai configurando una VM al di fuori di Cloud de Confiance, prepara la macchina per accedere al repository. Se stai configurando una VM Compute Engine, procedi al passaggio successivo.

    Installa la chiave pubblica di verifica della firma utilizzando il seguente comando:

    curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/artifact-registry.gpg
    

    Sostituisci LOCATION con la posizione regionale del repository.

  3. Aggiorna Apt utilizzando il seguente comando:

    sudo apt update
    

Configura una VM per accedere a un repository Apt standard

Configura una VM per accedere a un repository Apt:

  1. Genera il comando di configurazione della VM eseguendo il comando gcloud beta artifacts print-settings apt:

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

    Sostituisci quanto segue:

    • LOCATION è la posizione regionale del repository.
    • REPOSITORY è il nome del repository Artifact Registry.

    L'output è simile al seguente:

    # To configure your package manager with this repository:
    
    # Update Apt:
    sudo apt update
    
    # Install the Apt credential helper:
    sudo apt install apt-transport-artifact-registry
    
    # Configure your VM to access Artifact Registry packages using the following
    # command:
    
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/artifact-registry.gpg] ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
    # Update Apt:
    sudo apt update
    
  2. Configura Apt in modo che recuperi i pacchetti dal repository utilizzando il comando echo dall'output del comando print-settings.

    Ad esempio, per installare pacchetti dal repository pubblico my-repo nel progetto my-project e nella località u-france-east1, utilizza il seguente comando:

    echo 'deb ar+https://u-france-east1-apt.pkg.dev/projects/my-project my-repo main'
    
  3. Aggiorna le origini del repository con questo comando:

    sudo apt update
    

Ora Apt può connettersi al repository.

Se crei repository Apt aggiuntivi, puoi aggiungerli al file artifact-registry.list e poi eseguire di nuovo sudo apt update per aggiornare le origini dei repository.

Configurare l'accesso HTTP a un repository Apt

Se utilizzi strumenti client meno recenti che non supportano la crittografia SSL, puoi configurare l'accesso pubblico al repository Apt e accedervi tramite HTTP. Le richieste inviate a repository leggibili pubblicamente tramite HTTP verranno rifiutate se viene presentato un token di autenticazione con la richiesta.

  1. Configura l'accesso pubblico al repository.

  2. Per configurare Apt in modo che recuperi i pacchetti dal repository utilizzando HTTP, esegui il seguente comando:

     echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \
     REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    

    Sostituisci quanto segue:

    • LOCATION è la posizione regionale del repository.
    • PROJECT_ID è l'ID progetto del repository.
    • REPOSITORY è il nome del repository.

    Ad esempio, per installare i pacchetti dal repository pubblico my-repo nel progetto my-project e nella posizione u-france-east1 utilizzando HTTP, utilizza il seguente comando:

    echo 'deb http://u-france-east1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  3. Aggiorna le origini del repository con questo comando:

    sudo apt update
    

Ora Apt può connettersi al repository.

Se crei repository Apt aggiuntivi, puoi aggiungerli al file artifact-registry.list e poi eseguire di nuovo sudo apt update per aggiornare le origini dei repository.

Passaggi successivi