Utilizzo di Terraform per configurare Schematics
Terraform su IBM Cloud® consente un provisioning prevedibile e coerente dei servizi IBM Cloud per costruire rapidamente ambienti cloud complessi e multilivello secondo i principi di Infrastructure as Code ( IaC ). Allo stesso modo, è possibile automatizzare il provisioning, l'aggiornamento e l'eliminazione delle istanze dello spazio di lavoro e delle azioni di IBM Cloud Schematics utilizzando Terraform.
Cercate una soluzione Terraform gestita su IBM Cloud? Prova IBM Cloud Schematics. Con Schematics si può usare il linguaggio Terraform che si conosce, ma non ci si deve preoccupare di impostare e mantenere la 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.
Prima di iniziare, assicurati di disporre dell'accesso obbligatorio per creare e utilizzare lo spazio di lavoro IBM Cloud Schematics.
Esempio: creazione di spazi di lavoro Schematics utilizzando Terraform
Completa la seguente procedura per creare uno spazio di lavoro Schematics utilizzando Terraform:
-
Segui l'esercitazione introduttiva di Terraform on IBM Cloud per installare la CLI Terraform e configurare IBM Cloud Provider Plug-in for Terraform. Il plug-in astrae le risorse IBM Cloud
APIsutilizzate per il provisioning, l'aggiornamento o la cancellazione delle risorse Schematics. -
Crea i file di configurazione Terraform denominati
main.tf,terraform.tfvarseversions.tf.È possibile utilizzare l' URL Git di esempio di Terraform
https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-api-gateway. Questo esempio utilizza un'istanza di servizio per impostare un'API per un servizio IBM Cloud a scelta. Puoi definire l'endpoint API che vuoi utilizzare per accedere al tuo servizio e definire le chiavi di sottoscrizione in modo da poter utilizzare in modo sicuro la tua API.Se hai uno spazio di lavoro creato in una regione diversa da
us, devi impostare l'endpoint API su tale regione. Ad esempio, se la tua regione specificata èeu, l'endpoint API deve essere specificato comeIBMCLOUD_SCHEMATICS_API_ENDPOINT=https://eu.schematics.cloud.ibm.comnella variabile di ambiente. Per ulteriori informazioni sulle posizioni dell'area di lavoro Schematics e sugli endpoint da utilizzare, vedere Dove sono archiviate le mie informazioni?Crea quindi lo Schematics spazio di lavoro
tf-testwks-apigwynel gruppo di risorsedefaultdella tua regione. Questo spazio di lavoro punta a un modello Terraform di tua scelta che richiede la versione Terraformterraform_v1.5.versions.tfIl file
versions.tfdi esempio per specificare la versione del provider necessaria per creare lo spazio di lavoro.terraform { required_version = ">=1.0.0, <2.0" required_providers { ibm = { source = "IBM-Cloud/ibm" } } }terraform.tfvarsIl file
terraform.tfvarsdi esempio per memorizzare le informazioni sensibili, ad esempio le credenziali. Per ulteriori informazioni, vedi Riferimento alle credenziali da unterraform.tfvarsfile. Per creare le chiavi API, consulta Creazione e chiavi API.schematics_workspace_name="tf-testwks-apigwy" schematics_workspace_description="Sample workspace created with terraform with URL" schematics_workspace_type="terraform_v1.5" schematics_workspace_location="us-south" schematics_workspace_resource_group="default" ibmcloud_api_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"main.tfEsaminare il seguente file
main.tfdi esempio. Questo file richiama le variabili dal fileterraform.tfvarsusando l' URL Git, quindi crea uno spazio di lavoro Schematics usando la chiave API IBM Cloud...e la propria chiave API.variable "schematics_workspace_name" {} variable "schematics_workspace_description" {} variable "schematics_workspace_type" {} variable "schematics_workspace_location" {} variable "schematics_workspace_resource_group" {} variable "ibmcloud_api_key" {} resource "ibm_schematics_workspace" "schematics_workspace_instance" { name = var.schematics_workspace_name description = var.schematics_workspace_description location = var.schematics_workspace_location resource_group = var.schematics_workspace_resource_group tags = ["sample"] template_env_settings = [ { env1 = "val1" }, { env2 = "val2" } ] template_type= var.schematics_workspace_type template_git_url = "https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-api-gateway" } provider "ibm" { region = "us-south" ibmcloud_api_key = var.ibmcloud_api_key }La seguente tabella elenca i parametri supportati quando crei e inizializzi un'istanza del servizio con Terraform. Per ulteriori informazioni sui parametri dettagliati per la creazione dello spazio di lavoro, consultare la risorsa
ibm_schematics_workspace.Parametri supportati per creare spazi di lavoro Schematics con Terraform. Parametro Descrizione descriptionLa descrizione dell'area di lavoro. locationL'ubicazione in cui vuoi creare il tuo spazio di lavoro Schematics ed eseguire le azioni Schematics. resource_groupL'ID del gruppo di risorse in cui si desidera eseguire il provisioning dello spazio di lavoro. nameIl nome dell'area di lavoro. Il nome può contenere fino a 128 caratteri e può includere caratteri alfanumerici, spazi, trattini e caratteri di sottolineatura. Quando crei uno spazio di lavoro per il tuo modello Terraform, valuta la possibilità di includere nel nome il componente del microservizio che hai configurato con il tuo modello Terraform e l'ambiente IBM Cloud in cui desideri distribuire le tue risorse. tagsUn elenco di tag associate allo spazio di lavoro. template_env_settingsUn elenco di variabili di ambiente che vuoi applicare durante l'esecuzione di un'azione Terraform. template_git_urlL' URL del repository Git, dove sono presenti i dettagli di configurazione per il provisioning della risorsa. template_typeSpecifica la versione Terraform che vuoi applicare nello spazio di lavoro Schematics. -
Inizializza la CLI Terraform.
terraform initSe il percorso della variabile di ambiente per Terraform non è impostato, puoi visualizzare l'errore
command not found: terraform. Correggi l'errore impostando il percorso della tua directory di installazione Terraform. -
Creare un piano di esecuzione Terraform. Il piano di esecuzione Terraform riepiloga tutte le azioni che devono essere eseguite per creare lo spazio di lavoro Schematics nel tuo account.
terraform plan -
Creare l'istanza dello spazio di lavoro Schematics e la politica di accesso IAM in IBM Cloud.
terraform applyPer ulteriori informazioni sulla risoluzione degli errori del comando
terraform apply, vedere Individuare la causa principale del fallimento di Schematics apply. -
Dal dashboardSchematics, controlla che sia stato creato il tuo spazio di lavoro
tf-testwks-apigwy. E le risorse vengono fornite da Elenco di risorse IBM Cloud Schematics. -
Verificare che la politica di accesso sia stata assegnata correttamente. Per ulteriori informazioni, vedi Revisione dell'accesso assegnato nella console.
Operazioni successive
Ora che hai creato correttamente il tuo primo spazio di lavoro Schematics con Terraform su IBM Cloud, puoi scegliere tra le seguenti attività:
- Impara come creare una risorsa IBM Cloud Schematics job per eseguire il template Terraform in IBM Cloud.
- Per eseguire
Ansible playbooksin IBM Cloud controlla la risorsa AzioneIBM Cloud Schematics. - Esplora altre risorse e origini dati Terraform supportate per IBM Cloud Schematics o esegui il checkout di altri argomenti e attributi che puoi utilizzare per le risorse Terraform utilizzate nell'esempio.
- Semplificate il provisioning utilizzando Terraform IBM Modules(TIM) open source, sicuro per impostazione predefinita e pronto per le aziende.