Configurazione di Terraform per Code Engine
Terraform su IBM Cloud® consente la creazione prevedibile e coerente di servizi IBM Cloud in modo da poter costruire rapidamente ambienti cloud complessi e multilivello seguendo i principi di Infrastructure as Code ( IaC ). Analogamente all'uso della CLI o dell'API e degli SDK di IBM Cloud, è possibile automatizzare la creazione, l'aggiornamento e l'eliminazione dei carichi di lavoro di Code Engine utilizzando HashiCorp Configuration Language (HCL).
Cercate una soluzione Terraform gestita su 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 la linea di comando Terraform e il plug-in IBM Cloud® Provider. Schematics fornisce anche modelli Terraform predefiniti che si possono installare facilmente dal catalogo IBM Cloud®.
Installazione di Terraform e configurazione delle risorse per Code Engine
Prima di poter creare i carichi di lavoro con Terraform, assicurati di aver completato i seguenti prerequisiti.
- Assicurarsi di avere l'accesso necessario per creare e lavorare con le risorse di Code Engine.
- Installa la CLI Terraform e configurare il plug-in del provider IBM Cloud per Terraform. Per ulteriori informazioni, vedi l'esercitazione per Introduzione a Terraform su IBM Cloud®. Il plug-in astrae le API IBM Cloud utilizzate per completare questa attività.
- Creare un file di configurazione di Terraform chiamato
main.tf. In questo file, si definiscono le risorse utilizzando il linguaggio di configurazione HashiCorp. Per ulteriori informazioni, vedi la documentazione Terraform.
-
Crea un progetto Code Engine utilizzando l'argomento della risorsa
code_engine_projectnel filemain.tf.data "ibm_resource_group" "resource_group" { name = "<your_resource_group_name>" } resource "ibm_code_engine_project" "code_engine_project_instance" { name = "<your_project_name>" resource_group_id = data.ibm_resource_group.resource_group.id } -
Dopo aver terminato la creazione del file di configurazione, inizializza la CLI Terraform. Per ulteriori informazioni, consultare la sezione Inizializzazione delle directory di lavoro.
terraform init -
Eseguire il provisioning del progetto dal file
main.tf. Per ulteriori informazioni, vedi Provisioning dell'infrastruttura con Terraform.-
Eseguire
terraform planper generare un piano di esecuzione Terraform per visualizzare in anteprima le azioni proposte.terraform plandata.ibm_resource_group.resource_group: Reading... data.ibm_resource_group.resource_group: Read complete after 1s [id=<your_resource_group_id>] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # ibm_code_engine_project.code_engine_project_instance will be created + resource "ibm_code_engine_project" "code_engine_project_instance" { + account_id = (known after apply) + created_at = (known after apply) + crn = (known after apply) + href = (known after apply) + id = (known after apply) + name = "<your_project_name>" + project_id = (known after apply) + region = (known after apply) + resource_group_id = "<your_resource_group_id>" + resource_type = (known after apply) + status = (known after apply) } Plan: 1 to add, 0 to change, 0 to destroy. -
Eseguire
terraform applyper creare le risorse definite nel piano.terraform applydata.ibm_resource_group.resource_group: Reading... data.ibm_resource_group.resource_group: Read complete after 1s [id=<your_resource_group_id>] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # ibm_code_engine_project.code_engine_project_instance will be created + resource "ibm_code_engine_project" "code_engine_project_instance" { + account_id = (known after apply) + created_at = (known after apply) + crn = (known after apply) + href = (known after apply) + id = (known after apply) + name = "my-project" + project_id = (known after apply) + region = (known after apply) + resource_group_id = "5218b5c8c749454b9fc8be28f32e458e" + resource_type = (known after apply) + status = (known after apply) } Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs: + ibm_code_engine_project = { + account_id = (known after apply) + created_at = (known after apply) + crn = (known after apply) + href = (known after apply) + id = (known after apply) + name = "my-project" + project_id = (known after apply) + region = (known after apply) + resource_group_id = "5218b5c8c749454b9fc8be28f32e458e" + resource_type = (known after apply) + status = (known after apply) + timeouts = null } Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes ibm_code_engine_project.code_engine_project_instance: Creating... ibm_code_engine_project.code_engine_project_instance: Still creating... [10s elapsed] ibm_code_engine_project.code_engine_project_instance: Still creating... [20s elapsed] ibm_code_engine_project.code_engine_project_instance: Still creating... [30s elapsed] ibm_code_engine_project.code_engine_project_instance: Creation complete after 30s [id=13468527-84sa-619g-gr99-168fe364w98f] Apply complete! Resources: 1 added, 0 changed, 0 destroyed. Outputs: ibm_code_engine_project = { "account_id" = "<your_account_id>" "created_at" = "2023-03-16T10:44:24.150838188Z" "crn" = "crn:v1:bluemix:public:codeengine:eu-de:a/dc5e6392e5d14021846031b83e95f190:13468527-84sa-619g-gr99-168fe364w98f::" "href" = "https://api.eu-de.codeengine.cloud.ibm.com/v2/projects/13468527-84sa-619g-gr99-168fe364w98f" "id" = "13468527-84sa-619g-gr99-168fe364w98f" "name" = "my-project" "project_id" = "<your_project_id>" "region" = "eu-de" "resource_group_id" = "<your_resource_group_id>" "resource_type" = "project_v2" "status" = "active" "timeouts" = null /* object */ }
-
-
Puoi visualizzare il tuo progetto nell'elenco di progetti nella consoleCode Engine. In alternativa puoi vedere il tuo progetto nell'elenco di risorse IBM Cloud, espandendo la categoria
Containerse cercando il nome del progetto.
Operazioni successive
Ora che hai creato correttamente il tuo primo progetto Code Engine con Terraform su IBM Cloud, puoi creare ulteriori risorse.
Risorse
Origini dati
ibm_code_engine_allowed_outbound_destinationibm_code_engine_appibm_code_engine_bindingibm_code_engine_buildibm_code_engine_config_mapibm_code_engine_domain_mappingibm_code_engine_functionibm_code_engine_jobibm_code_engine_projectibm_code_engine_secret
Per ulteriori informazioni su IBM Cloud e Terraform, consulta IBM Cloud Provider.