Esegui il provisioning delle risorse Artifact Registry con Terraform

HashiCorp Terraform è uno strumento Infrastructure as Code (IaC) che consente di eseguire il provisioning e gestire l'infrastruttura cloud. Terraform fornisce plug-in chiamati provider che ti consentono di interagire con i provider cloud e altre API. Puoi utilizzare il provider Terraform per Google Cloud per eseguire il provisioning e gestire le risorse Google Cloud, tra cui Artifact Registry.

Questa pagina illustra l'utilizzo di Terraform con Artifact Registry, inclusa un'introduzione al funzionamento di Terraform e alcune risorse per iniziare a utilizzare Terraform con Google Cloud. Troverai anche link alla documentazione di riferimento di Terraform per Artifact Registry, esempi di codice e guide per l'utilizzo di Terraform per il provisioning delle risorse di Artifact Registry.

Per istruzioni su come iniziare a utilizzare Terraform per Google Cloud, consulta Installare e configurare Terraform o la guida rapida di Terraform per Google Cloud.

Come funziona Terraform

Terraform ha una sintassi dichiarativa e orientata alla configurazione che puoi utilizzare per descrivere l'infrastruttura che vuoi eseguire il provisioning nel tuo progetto Google Cloud. Dopo aver creato questa configurazione in uno o più file di configurazione Terraform, puoi utilizzare Terraform CLI per applicarla alle risorse Artifact Registry.

I passaggi seguenti spiegano come funziona Terraform:

  1. Descrivi l'infrastruttura da eseguire il provisioning in un file di configurazione Terraform. Non è necessario scrivere codice che descriva come eseguire il provisioning dell'infrastruttura. Terraform esegue il provisioning dell'infrastruttura per te.
  2. Esegui il comando terraform plan, che valuta la configurazione e genera un piano di esecuzione. Puoi esaminare il piano e apportare le modifiche necessarie.
  3. Esegui il comando terraform apply, che esegue le seguenti azioni:

    1. Esegue il provisioning dell'infrastruttura in base al piano di esecuzione richiamando le API Artifact Registry corrispondenti in background.
    2. Viene creato un file di stato Terraform, ovvero un file JSON che mappa le risorse nel file di configurazione alle risorse nell'infrastruttura reale. Terraform utilizza questo file per tenere traccia dello stato più recente dell'infrastruttura e per determinare quando creare, aggiornare ed eliminare le risorse.
    3. Quando esegui terraform apply, Terraform utilizza la mappatura nel file di stato per confrontare l'infrastruttura esistente con il codice e apportare gli aggiornamenti necessari:

      • Se un oggetto della risorsa è definito nel file di configurazione, ma non esiste nel file dello stato, Terraform lo crea.
      • Se nel file dello stato esiste un oggetto della risorsa, ma la sua configurazione è diversa da quella del file di configurazione, Terraform aggiorna la risorsa in modo che corrisponda al file di configurazione.
      • Se un oggetto della risorsa nel file dello stato corrisponde al tuo file di configurazione, Terraform lascia la risorsa invariata.

Risorse Terraform per Artifact Registry

Le risorse sono gli elementi fondamentali del linguaggio Terraform. Ogni blocco di risorse descrive uno o più oggetti di infrastruttura, come reti virtuali o istanze di calcolo.

La tabella seguente elenca le risorse Terraform disponibili per Artifact Registry:

Servizio Risorse Terraform Origini dati
Artifact Registry
  • google_artifact_registry_docker_image
  • google_artifact_registry_repository
  • google_artifact_registry_repository_iam_policy
  • Guide basate su Terraform per Artifact Registry

    La tabella seguente elenca guide e tutorial basati su Terraform per Artifact Registry:

    Guida Dettagli
    Creare un repository standard utilizzando Terraform Questa guida descrive come creare un repository in modalità standard con Terraform.
    Creare un repository remoto utilizzando Terraform Questa guida descrive come creare un repository in modalità remota con Terraform.
    Creare un repository in modalità virtuale utilizzando Terraform Questa guida descrive come creare un repository in modalità virtuale con Terraform.

    Moduli e progetti Terraform per Artifact Registry

    I moduli e i progetti ti aiutano ad automatizzare il provisioning e la gestione delle risorse Google Cloud su larga scala. Un modulo è un insieme riutilizzabile di file di configurazione di Terraform che crea un'astrazione logica delle risorse Terraform. Un blueprint è un pacchetto di moduli di deployment e riutilizzabili e un criterio che implementa e documenta una soluzione specifica.

    La tabella seguente elenca i moduli e i blueprint correlati ad Artifact Registry:

    Modulo o progetto Dettagli
    artifact-registry Creare e gestire i repository Artifact Registry
    secure-cicd Crea una pipeline CI/CD sicura su Google Cloud
    gcloud Esegue i comandi dell'interfaccia a riga di comando Google Cloud in Terraform

    Passaggi successivi