Cómo utilizar la interfaz de línea de comandos (CLI) de Terraform en Ubuntu

instala git en tu sistema

Terraform es un marco para construir y configurar infraestructura como código, con una interfaz de línea de comandos y lenguaje DSL. Terraform puede administrar proveedores de servicios existentes y populares, así como soluciones internas personalizadas para construir y configurar centros de datos distribuidos completos.

La interfaz de l√≠nea de comandos (CLI) de Terraform le permite usar Terraform sin tener que escribir ning√ļn c√≥digo o archivos de configuraci√≥n. Es una forma ideal de crear prototipos de cambios de infraestructura con su equipo antes de escribir c√≥digo, implementar configuraciones localmente en su m√°quina o pasarlas a producci√≥n. La CLI se basa en el formato de archivo terraformspec que fue creado para este prop√≥sito por terceros, como HashiCorp Nomad CLI Toolkit.

El kit de herramientas de la CLI implementa un DSL de JavaScript para definir la infraestructura y utiliza el mismo formato de configuraci√≥n tanto en Terraform como en la CLI. El kit de herramientas CLI tambi√©n proporciona comandos para generar plantillas de infraestructura, componer componentes de infraestructura en soluciones completas y administrar cambios. Todo el flujo de trabajo de Terraform est√° impulsado por funciones sin estado que se definen en el c√≥digo y que Terraform ejecuta cada vez que realiza un cambio. Esto le permite pensar en su infraestructura como un dise√Īo √ļnico que se puede modificar f√°cilmente en tiempo de ejecuci√≥n sin recargar su configuraci√≥n o modificar su base de c√≥digo.

Varios profesionales y empresas de TI utilizan la interfaz de línea de comandos de Terraform para administrar e incluso crear nuevas infraestructuras o nuevas infraestructuras en la nube. La interfaz de línea de comandos de terraform puede proporcionar un método más sólido para automatizar cambios que llevarían demasiado tiempo realizarlos a mano. Es una poderosa herramienta para administrar la infraestructura.

Es f√°cil ver por qu√© Terraform es una de las soluciones de aprovisionamiento de nube de c√≥digo abierto m√°s populares del mundo. ¬°Es una herramienta utilizada por gente de Linux como t√ļ!

En el interior, encontrar√° explicaciones completas y ejemplos de los comandos CLI de Terraform de uso m√°s com√ļn que se han seleccionado especialmente para brindarle una experiencia pr√°ctica con las caracter√≠sticas m√°s poderosas de Terraform.

Requisito previo

  • Para seguir este art√≠culo, debe tener:
  • Un cierto conocimiento b√°sico de las caracter√≠sticas y funciones de Terraform.
  • Una m√°quina Linux. Esta demostraci√≥n usa Ubuntu 20.04 LTS, pero cualquier distribuci√≥n de Linux funcionar√°.
  • Terraform y docker instalados en la m√°quina.

Clonación del código principal

Ahora que se ha ocupado de los requisitos previos, está listo para comenzar a clonar el código principal para usar la CLI de Terraform.

1. Ejecute el comando apt install a continuaci√≥n para instalar git en su sistema. Git es un sistema de control de revisi√≥n distribuido de c√≥digo abierto dise√Īado para manejar todo, desde proyectos peque√Īos hasta proyectos muy grandes, con rapidez y eficiencia. Utilizar√° git para clonar la plantilla de proyecto de interfaz de l√≠nea de comandos de terraform de github.com. Luego comprobar√° la versi√≥n correcta de la l√≠nea de comandos de terraform para esta demostraci√≥n.

sudo apt install git -y

instala git en tu sistema

2. Ejecute el comando git clone a continuación para clonar la plantilla de proyecto de línea de comandos de terraform en su directorio actual.

git clone https://github.com/howtoforge-com/terraform-cli.git

clonar la plantilla de proyecto de línea de comandos de terraform

3. Muévase al directorio terraform-cli recién clonado y abra el principal.tf archivo con su editor de texto favorito (vim, emacs, nano, etc.). Un archivo main.tf es el punto de entrada de su proyecto a la interfaz de línea de comandos (Cli) de terraform. Cuando ejecuta el comando terraform, utiliza el archivo main.tf como entrada para obtener instrucciones sobre cómo construir su infraestructura.

cd terraform-cli && sudo nano main.tf

Obtendr√° la siguiente salida.

abra el archivo main.tf con su editor de texto favorito

  • los terraformar { } La secci√≥n del archivo main.tf no hace m√°s que configurar el proveedor de la ventana acoplable como un proveedor_requerido. Para que Terraform administre su infraestructura de Docker, debe tener configurado el proveedor de Docker.

vista previa de la sección de terraformación

  • los recurso ¬ędocker_image¬Ľ ¬ęnginx¬Ľ { bloque de c√≥digo demuestra el uso de la CLI de terraform mediante la creaci√≥n de un nuevo recurso llamado docker_image. La siguiente l√≠nea usa el imagen acoplable para crear un recurso llamado nginx. Puede inferir que esto se usar√° para administrar su contenedor Docker. La siguiente l√≠nea establece el nombre de la imagen de la ventana acoplable como nginx: m√°s reciente. los mantener_localmente = falso evita que la imagen se almacene en cach√© localmente en su m√°quina y es una buena idea para evitar descargas duplicadas.

vista previa de la sección de recursos

  • los recurso ¬ędocker_container¬Ľ ¬ęnginx¬Ľ { demuestra el uso de la CLI de terraform mediante la creaci√≥n de un nuevo recurso llamado docker_container. La siguiente l√≠nea usa el docker_container para crear un recurso llamado nginx. Esto se usar√° para administrar el mapeo de puertos de su contenedor Docker. La siguiente l√≠nea establece el nombre de su contenedor docker como tutorial y finalmente, demuestra c√≥mo mapear puertos 8000 y puerto 80 en su m√°quina host en su contenedor docker usando el bloque de puertos.

vista previa de la sección de recursos

Uso de la interfaz de línea de comandos (CLI) de Terraform para construir su primera infraestructura

Ahora que ha clonado la plantilla del proyecto terraform, puede construir su primera infraestructura. Utilizar√° la CLI de Terraform para construir una infraestructura utilizando el archivo main.tf de su proyecto. Crear√° un contenedor docker y asignar√° un puerto desde su m√°quina host al contenedor docker.

1. Primero, ejecute el comando terraform init para inicializar su directorio de trabajo. El comando terraform init inicializa su directorio de trabajo y descarga los complementos necesarios para que Terraform administre su infraestructura. Un directorio de trabajo es el directorio en el que utilizar√° el comando terraform para administrar su infraestructura. Una vez inicializado, este directorio contiene un archivo main.tf y puede contener varios archivos auxiliares.

terraform init

Al ejecutar con éxito el comando terraform init, recibirá el siguiente resultado.

inicializa tu directorio de trabajo

2. A continuación, ejecute el comando terraform fmt para formatear automáticamente su archivo main.tf para mejorar la legibilidad y la coherencia. El comando terraform fmt reformateará su archivo main.tf para mejorar la legibilidad y la consistencia. Esta es una buena práctica a seguir, ya que hará que sus archivos sean más fáciles de leer para usted y para otros.

terraform fmt

Si el comando terraform fmt modific√≥ sus archivos main.tf, imprimir√° el nombre del archivo que reformate√≥. En esta demostraci√≥n, la salida est√° en blanco porque el archivo main.tf ya estaba formateado seg√ļn los gustos de Terraform, como se muestra a continuaci√≥n.

formatee su archivo main.tf para mejorar la legibilidad y la consistencia

3. Ejecute el comando de validaci√≥n de terraform para asegurarse de que su infraestructura se construya seg√ļn lo previsto. El comando de validaci√≥n de terraformaci√≥n es una verificaci√≥n de seguridad para verificar que su infraestructura se puede construir seg√ļn lo previsto.

terraform validate

Si no hay errores, recibir√° un resultado similar al siguiente, indicando que todo est√° listo para construir su primera infraestructura.

valida tu infraestructura

4. Ejecute el comando terraform plan para ver qué hará Terraform para construir la infraestructura. El comando terraform plan es una vista previa de lo que Terraform planea construir y no es lo mismo que terraform apply.

terraform plan

El comando terraform plan genera la siguiente estructura, que muestra que crear√° una instancia del recurso docker_container llamado nginx y un recurso docker_image llamado tutorial.

Ver el plano de terraformación

5. Ejecute el comando de aplicación de terraformación para aplicar los cambios que previsualizó con el plan de terraformación. El comando terraform apply construirá su infraestructura. El comando terraform apply creará todos los recursos descritos en su archivo de configuración main.tf de Terraform.

Este comando reutilizará la evaluación de variables, restricciones y asignaciones del comando terraform plan para producir el plan más eficiente posible. Cualquier opción adicional especificada en la línea de comando con terraform apply se usará cuando se ejecute el comando apply. Ingresar sí y presiona Ingresar cuando se le pide Introduce un valor.

terraform apply

aplicando tu cambio

Una vez que el comando de aplicaci√≥n de terraformaci√≥n tenga √©xito, ver√° un mensaje que indica que su infraestructura se ha construido correctamente, como se muestra a continuaci√≥n. Cuando esto sucede, significa que su infraestructura se cre√≥ seg√ļn lo previsto y est√° actualizada con su archivo de configuraci√≥n.

Construyendo tu infraestructuraAnuncio publicitario

6. Ejecute el comando ls para enumerar todos los archivos en su directorio de trabajo. Verá un nuevo archivo llamado terraform.tfstate como se muestra a continuación. Se crea un archivo con este nombre para realizar un seguimiento de los cambios en su infraestructura. El comando terraform plan almacena los cambios que se aplicarán cuando se ejecute terraform apply en un archivo intermedio llamado .tfstate. El archivo de estado contiene el estado completo de la infraestructura tal como lo ve Terraform. Este archivo es necesario para aplicar cualquier configuración y debe transferirse al realizar cambios, incluso si el destino está dentro del mismo proveedor.

ls

enumere todos los archivos en su directorio de trabajo

7. El proceso de construcción ya ha terminado. Ejecute el comando terraform destroy para destruir la infraestructura que acaba de construir. Ingresar sí y presiona Ingresar cuando se le pide Introduce un valor. El comando terraform destroy eliminará todos los recursos creados por esta demostración. El comando terraform destroy eliminará todos los recursos descritos en su archivo de configuración Terraform main.tf. Una vez que se destruyen los recursos, no se pueden recuperar.

Debe eliminar los recursos no utilizados para mantener la configuración de un entorno bajo control. No se trata de encubrir fallas, se trata de prevenir fallas evitando la acumulación de recursos en desuso.

 terraform destroy

destruir la infraestructura

Conclusión

En este tutorial, aprendió a usar los conceptos de Terraform más comunes demostrados en un ejemplo para construir su primera infraestructura. Aprendió a usar la CLI de Terraform para construir infraestructura usando el archivo main.tf de su proyecto. La CLI se puede utilizar para planificar, aplicar y destruir su infraestructura.

Ahora tiene las herramientas para construir su propia infraestructura. Puede administrar una amplia gama de recursos con facilidad, gracias al lenguaje de configuración completo y expresivo de Terraform.

Puede aprovechar su nuevo conocimiento en administración de infraestructura, que ya está en uso para contenedores Docker, Kubernetes y OpenStack, para brindar más eficiencia y coherencia a su práctica de infraestructura como código.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *