Utilización de Terraform para configurar Schematics
Terraform en IBM Cloud® permite un aprovisionamiento predecible y coherente de los servicios de IBM Cloud para construir rápidamente entornos de nube complejos y de varios niveles siguiendo los principios de la infraestructura como código ( IaC ). Del mismo modo, puede automatizar el aprovisionamiento, la actualización y la eliminación de su espacio de trabajo IBM Cloud Schematics y las instancias de acciones mediante Terraform.
¿Busca un Terraform gestionado en la solución IBM Cloud? Pruebe IBM Cloud Schematics. Con Schematics, puede utilizar el lenguaje de Terraform con el que esté familiarizado, pero no tiene que preocuparse de configurar y mantener comando de Terraform y el complemento IBM Cloud Provider. Schematics también proporciona plantillas predefinidas de Terraform que puede instalar desde el catálogo IBM Cloud.
Antes de comenzar, asegúrese de que tiene el acceso necesario para crear espacios de trabajo IBM Cloud Schematics y trabajar con ellos.
Ejemplo - Creación de los espacios de trabajo Schematics mediante Terraform
Realice los pasos siguientes para crear un espacio de trabajo Schematics utilizando Terraform:
-
Siga la guía de aprendizaje de inicio de Terraform en IBM Cloud para instalar la CLI de Terraform y configurar IBM Cloud Provider Plug-in for Terraform. El complemento abstrae los IBM Cloud
APIsque se utilizan para aprovisionar, actualizar o eliminar recursos Schematics. -
Cree los archivos de configuración de Terraform denominados
main.tf,terraform.tfvarsyversions.tf.Puede utilizar el ejemplo de Terraform Git URL
https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-api-gateway. En este ejemplo, se utiliza la instancia de servicio para configurar una API para un servicio IBM Cloud de su elección. Puede especificar el punto final de API que quiera utilizar para acceder al servicio y definir claves de suscripción, a fin de poder consumir de forma segura la API.Si tiene un espacio de trabajo creado en una región distinta de
us, debe establecer el punto final de la API en esa región. Por ejemplo, si la región especificada eseu, el punto final de la API debería especificarse comoIBMCLOUD_SCHEMATICS_API_ENDPOINT=https://eu.schematics.cloud.ibm.comen la variable de entorno. Para obtener más información sobre las ubicaciones del espacio de trabajo Schematics y los puntos finales que deben utilizarse, consulte ¿Dónde se almacena mi información?A continuación, cree el espacio de trabajo Schematics
tf-testwks-apigwyen el grupo de recursosdefaultde la región. Este espacio de trabajo apunta a una plantilla de Terraform de su elección que requiere la versión de Terraformterraform_v1.5.versions.tfEl archivo
versions.tfde ejemplo para especificar la versión de proveedor que necesita para crear el espacio de trabajo.terraform { required_version = ">=1.0.0, <2.0" required_providers { ibm = { source = "IBM-Cloud/ibm" } } }terraform.tfvarsEl archivo
terraform.tfvarsde ejemplo para almacenar información confidencial como, por ejemplo, credenciales. Para obtener más información, consulte Referencia de credenciales desde un archivoterraform.tfvars. Para crear claves de API, consulte Creación y claves de 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.tfRevise el siguiente archivo
main.tfde ejemplo. Este archivo invoca las variables del archivoterraform.tfvarsutilizando el URL de Git y, a continuación, crea un espacio de trabajo de Schematics utilizando la clave de API de IBM Cloud.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 tabla siguiente lista los parámetros soportados cuando se crea y se inicializa una instancia de servicio con Terraform. Para obtener más información sobre los parámetros detallados para crear un espacio de trabajo, consulte
ibm_schematics_workspacerecurso.Parámetros soportados para crear espacios de trabajo de Schematics con Terraform. Parámetro Descripción descriptionLa descripción del espacio de trabajo. locationLa ubicación en la que quiere crear el espacio de trabajo Schematics y ejecutar acciones de Schematics. resource_groupID del grupo de recursos donde quiere suministrar el espacio de trabajo. nameNombre del espacio de trabajo. El nombre puede tener hasta 128 caracteres de longitud y puede incluir caracteres alfanuméricos, espacios, guiones y signos de subrayado. Al crear un espacio de trabajo desde su propia plantilla de Terraform, plantéese incluir en el nombre el componente de microservicio que haya configurado con su plantilla de Terraform y el entorno de IBM Cloud donde desee desplegar los recursos. tagsUna lista de etiquetas asociadas al espacio de trabajo. template_env_settingsUna lista de variables de entorno que el usuario quiere aplicar durante la ejecución de una acción de Terraform. template_git_urlEl URL del repositorio Git, donde se encuentran los detalles de configuración para suministrar el recurso. template_typeEspecifique la versión de Terraform que quiera aplicar en el espacio de trabajo Schematics. -
Inicialice la CLI de Terraform.
terraform initSi la vía de acceso de la variable de entorno para Terraform no está establecida, puede que se genere el error
command not found: terraform. Para arreglar el error, establezca la vía de acceso del directorio de instalación de Terraform. -
Cree un plan de ejecución de Terraform. El plan de ejecución de Terraform resume todas las acciones que se deben ejecutar para crear el espacio de trabajo Schematics en su cuenta.
terraform plan -
Cree la instancia del espacio de trabajo Schematics y la política de acceso de IAM en IBM Cloud.
terraform applyPara obtener más información sobre cómo solucionar los errores comando
terraform apply, consulte la sección Cómo encontrar la causa raíz del error de aplicación de Schematics. -
En el panel de control de Schematics, compruebe que se haya creado el espacio de trabajo
tf-testwks-apigwy. Y los recursos se aprovisionan desde la lista de recursos IBM Cloud Schematics. -
Verifique que la política de acceso se ha asignado correctamente. Para obtener más información, consulte Revisión del acceso asignado en la consola.
¿Qué hacer a continuación?
Ahora que ha creado correctamente el primer espacio de nombres Schematics con Terraform en IBM Cloud, puede elegir entre las tareas siguientes:
- Aprenda a crear un recurso de trabajo IBM Cloud Schematics para ejecutar su plantilla Terraform en IBM Cloud.
- Para ejecutar
Ansible playbooksen IBM Cloud, consulte el recurso AcciónIBM Cloud Schematics. - Explora otros recursos y fuentes de datos de Terraform compatibles para IBM Cloud Schematics o consulta otros argumentos y atributos que puedes utilizar para los recursos de Terraform que se utilizaron en el ejemplo.
- Simplifique el aprovisionamiento utilizando módulos Terraform IBM(TIM)de código abierto, seguros por defecto y listos para la empresa.