Configuración de Terraform para Code Engine
Terraform en IBM Cloud® permite la creación predecible y coherente de servicios de IBM Cloud para que pueda crear rápidamente entornos de nube complejos y de varios niveles siguiendo los principios de la infraestructura como código ( IaC ). Al igual que con la CLI o la API y los SDK de IBM Cloud, puede automatizar la creación, actualización y eliminación de sus cargas de trabajo de Code Engine utilizando HashiCorp Configuration Language (HCL).
¿Está buscando un Terraform gestionado en la solución DE IBM Cloud® ? Pruebe IBM Cloud® Schematics. Con Schematics, puede utilizar el lenguaje de scripts Terraform con el que está familiarizado, pero no tiene que preocuparse por configurar y mantener la línea de mandatos de Terraform y el plug-in de proveedor de IBM Cloud®. Schematics también proporciona plantillas de Terraform predefinidas que puede instalar fácilmente desde el catálogo de IBM Cloud®.
Instalación de Terraform y configuración de recursos para Code Engine
Antes de poder crear cargas de trabajo con Terraform, asegúrese de que ha completado los siguientes requisitos previos.
- Asegúrese de que dispone del acceso necesario para crear y trabajar con los recursos de Code Engine.
- Instale la CLI de Terraform y configure el plugin de proveedor de IBM Cloud para Terraform. Para obtener más información, consulte la guía de aprendizaje de Iniciación a Terraform en IBM Cloud®. El plug-in abstrae las API de IBM Cloud que se utilizan para completar esta tarea.
- Cree un archivo de configuración de Terraform denominado
main.tf. En este archivo, puede definir recursos utilizando HashiCorp Configuration Language. Para más información, consulte la documentación de Terraform.
-
Cree un proyecto Code Engine utilizando el argumento de recurso
code_engine_projecten el archivomain.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 } -
Después de terminar de crear el archivo de configuración, inicialice la CLI de Terraform. Para obtener más información, consulte Inicialización de directorios de trabajo.
terraform init -
Suministre el proyecto desde el archivo
main.tf. Para obtener más información, consulte Infraestructura de suministro con Terraform.-
Ejecute
terraform planpara generar un plan de ejecución de Terraform para obtener una vista previa de las acciones propuestas.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. -
Ejecute
terraform applypara crear los recursos definidos en el plan.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 */ }
-
-
Puede ver el proyecto en la lista de proyectos en la consola deCode Engine. De forma alternativa, puede ver el proyecto en la lista de recursos IBM Cloud, expandiendo la categoría
Containersy buscando el nombre del proyecto.
¿Qué hacer a continuación?
Ahora que ha creado correctamente el primer proyecto Code Engine con Terraform en IBM Cloud, puede crear recursos adicionales.
Recursos
Orígenes de datos
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
Para obtener más información sobre IBM Cloud y Terraform, consulte IBM Cloud Provider.