Configurazione di Terraform per Container Registry
Terraform su IBM Cloud® consente un provisioning prevedibile e coerente dei servizi IBM Cloud in modo da poter costruire rapidamente ambienti cloud complessi e multilivello che seguono i principi di Infrastructure as Code ( IaC ). Analogamente all'utilizzo dell'interfaccia a riga di comando (CLI) o delle API e degli SDK di IBM Cloud, è possibile automatizzare il provisioning, l'aggiornamento e l'eliminazione delle istanze di IBM Cloud® Container Registry utilizzando HashiCorp Configuration Language (HCL).
Stai cercando un Terraform gestito sulla soluzione IBM Cloud? Prova IBM Cloud Schematics. Con Schematics si può usare il linguaggio di scripting Terraform che si conosce, ma non ci si deve preoccupare di configurare e mantenere l'interfaccia a riga di comando di Terraform e il plug-in IBM Cloud Provider. Schematics fornisce anche modelli Terraform predefiniti che si possono installare dal catalogo IBM Cloud.
Installazione di Terraform e creazione di uno spazio dei nomi Container Registry
Prima di iniziare, assicurati di disporre dell' accesso richiesto per creare e gestire le risorse IBM Cloud Container Registry.
-
Per installare la CLI Terraform e configurare il provider IBM Cloud per Terraform, segui l'esercitazione introduttiva di Terraform su IBM Cloud. Il plug-in astrae le API IBM Cloud utilizzate per eseguire il provisioning, l'aggiornamento o l'eliminazione delle risorse Container Registry.
-
Creare un file di configurazione di Terraform chiamato
main.tf. Aggiungi la configurazione per creare un file Container Registry spazio dei nomi e per assegnare a un utente un IAM politica di accessoUn metodo per concedere l'accesso alle risorse dell'account a utenti, ID servizio e gruppi di accesso. Una politica di accesso include un oggetto, una destinazione e un ruolo. In Cloud Identity and Access Management (IAM) per quello spazio dei nomi utilizzando HashiCorp Linguaggio di configurazione (HCL). Per ulteriori informazioni, consulta Terraform Language Documentation.Il seguente esempio crea un namespace nel gruppo di risorseL'ambiente e i vincoli che vengono rispettati delle istanze della risorsa contenute. Un utente può essere associato a un gruppo di risorse per abilitare la collaborazione. predefinito con un nome a tua scelta e allega una politica di conservazione dell'immagine a quel namespace che conserva 10 immagini. Per richiamare l'ID del gruppo di risorse predefinito, viene utilizzata l'origine dati
ibm_resource_group. Quindi, l'utenteuser@ibm.comviene assegnato al ruolo Manager nella politica di accesso IAM per il namespace di una particolare regione. La regione viene richiamata dal fileterraform.tfvarscreato nel passo 1.data "ibm_resource_group" "group" { name = "default" } resource "ibm_cr_namespace" "cr_namespace" { name = "<namespace_name>" resource_group_id = data.ibm_resource_group.group.id } resource "ibm_cr_retention_policy" "cr_retention_policy" { namespace = ibm_cr_namespace.cr_namespace.id images_per_repo = 10 } resource "ibm_iam_user_policy" "policy" { ibm_id = "user@ibm.com" roles = ["Manager"] resources { service = "container-registry" resource = ibm_cr_namespace.cr_namespace.id resource_type = "namespace" region = var.region } }L'aggiornamento di un namespace utilizzando Terraform non è supportato. Puoi usare Terraform solo per creare e rimuovere spazi dei nomi.
-
Inizializza la CLI Terraform.
terraform init -
Creare un piano di esecuzione Terraform. Il piano di esecuzione Terraform riepiloga tutte le azioni che devono essere eseguite per creare lo spazio dei nomi Container Registry e la politica di accesso IAM nel tuo account.
terraform plan -
Crea lo spazio dei nomi Container Registry e la politica di accesso IAM in IBM Cloud.
terraform apply -
Dalla pagina panoramica dello spazio dei nomiContainer Registry, verifica che il tuo spazio dei nomi sia stato creato correttamente.
-
Verifica che la politica di accesso IAM sia stata assegnata correttamente. Per ulteriori informazioni, vedi Revisione dell'accesso assegnato nella console.
Passi successivi
Ora che hai creato correttamente il tuo primo spazio dei nomi Container Registry con Terraform su IBM Cloud, puoi scegliere tra le seguenti attività:
- Impara come aggiungere immagini al tuo spazio dei nomi.
- Esplora altri argomenti e attributi supportati per le risorse e le origini dati Container Registry Terraform utilizzate in questo esempio.