Introducción a Terraform

Introducción a Terraform

En tiempos anteriores, el proceso de aprovisionar la infraestructura de TI fue un manual y muy agotador. Los administradores/gerentes del servidor deben configurar los servidores físicamente. Además, este enfoque fue costoso y propenso a numerosos errores, especialmente errores de fabricación humana. Además, había una falta de agilidad. Con el tamaño en evolución de la infraestructura de TI, se consideró desarrollar un nuevo enfoque para administrar esta condición. Esto dio a luz a la llamada Infraestructura como técnica de código (IAC).

La infraestructura como código (IAC) es una técnica en la que los componentes de una red, como las instancias de cómputo, las redes, las máquinas virtuales, etc., se administran automáticamente en lugar de hacer el mismo proceso manualmente. Terraform es un producto de técnicas basadas en IAC. El objetivo principal de Terraform es orquestar la implementación de recursos o servicios en varias plataformas de infraestructura. Estas plataformas pueden ser proveedores de servicios basados ​​en la nube, máquinas virtuales, etc.

Lo que exploraremos aquí

Después de una pequeña introducción a IAC y Terraform, continuaremos con la instalación de Terraform y cómo funciona. Proceda con la instalación de Terraform en Ubuntu 20.04.

Cómo instalar Terraform

Un paquete oficial de Terraform para Ubuntu/Debian, Centos/Rhel, Fedora y Amazon Linux es distribuido por los administradores de paquetes de estas distribuciones. Los binarios precompilados también están disponibles para descargar desde el sitio web de Terraform. Guarde este archivo binario en su sistema, extravelo y ejecutarlo. Asegúrese de que la ruta esté configurada correctamente. Alternativamente, podemos compilarlo utilizando el código fuente.

Paso 1. Comience por instalar los paquetes Gnupg, Software-Properties-Common y Curl. Este paso es para validar la firma GPG proporcionada por Hashicorp. Para lograr esta tarea, abra un terminal (haga clic simultáneamente en las teclas Ctrl+Alt+T) y ejecute el siguiente comando:

$ sudo apt-get actualización && sudo apt-get install -y gnupg software-properties-common curl

Paso 2. Para agregar la tecla Hashicorp GPG, ejecute el siguiente comando:

$ curl -fssl https: // apt.lanzamientos.Hashicorp.com/gpg | sudo apt-key agregar -

Paso 3. Ahora, proceda a agregar repositorio ejecutando el siguiente comando:

$ sudo apt-add-repository "Deb [arch = amd64] https: // apt.lanzamientos.Hashicorp.com $ (lsb_release -cs) principal "

Etapa 4. Después de agregar el repositorio, estamos configurados para agregar el repositorio para instalar Terraform. Use el siguiente comando:

$ sudo apt-get actualización && sudo apt-get install terraform

Paso 5. Finalmente, verifique si Terraform se instala en su sistema utilizando el siguiente comando:

$ Terraform -version

Funcionamiento de Terraform

Terraform utiliza sus API para proporcionar y administrar recursos en diferentes plataformas y servicios basados ​​en la nube. Terraform ha desarrollado proveedores para trabajar con cualquier plataforma o servicio utilizando una API. Hay más de 1700 proveedores para administrar muchos recursos y servicios. El registro de Terraform contiene proveedores que están disponibles públicamente. Por ejemplo, tiene Amazon AWS, Microsoft Azure, Google, GCP, etc.

Hay principalmente tres etapas en un flujo de trabajo de Terraform:

  1. Escribir: En esta etapa, los recursos se definen para un caso particular. Por ejemplo, uno podría estar interesado en implementar un servidor web con un VPC personalizado y configurarlo con un equilibrador de carga y grupos de seguridad.
  1. Plan: Esta etapa desarrolla un plan de ejecución que describe qué cambios se realizarán a la infraestructura. Por ejemplo, muestra qué recursos se agregarán, actualizarán o destruirán.
  1. Aplicar: Esta es la etapa final donde las operaciones planificadas se aplican finalmente después de la confirmación. Estos se aplican en un orden específico.

Terraform usa archivos de configuración para definir cómo debería ser una infraestructura. Es más importante para aprovisionar una infraestructura que crece con el tiempo. Por ejemplo, agregamos una VM dentro de un VPC a una infraestructura. Luego, otro día, agregamos más máquinas virtuales, un equilibrador de carga, etc. Esto aumenta la complejidad general de la infraestructura.

Veamos cómo Terraform Workflow maneja esta complejidad:

  1. Primero, debemos crear un archivo de Terraform y declarar los principales recursos y otras cosas necesarias aquí. Guarde el archivo con un .extensión de TF.
  1. A continuación, ejecutamos un comando de Terraform "Plan Terraform", que compara el estado real con el estado deseado.
  1. Finalmente, cuando todo se ve perfecto, aplicamos el plan anterior y giramos los recursos que definimos anteriormente en el archivo de Terraform.

De esta manera, Terraform funciona para el despliegue del primer día, generando algo de la nada. Si queremos agregar nuevos recursos a la configuración, debemos declararlos en el archivo de configuración. El Terraform verificará el estado inicial con el estado deseado y creará el estado deseado. Terraform solo realiza esos cambios que son necesarios para llegar al estado deseado.

Obteniendo ayuda

Para enumerar todos los comandos disponibles con Terraform, use el siguiente comando "Ayuda":

$ Terraform -Help

Para explorar un comando en particular, por ejemplo, "plan", use el siguiente comando:

$ Terraform -Help Plan

Conclusión

En esta publicación, hemos visto una vista de alto nivel de Terraform. Terraform es un tema muy interesante para aprender y simplificar la complejidad de la infraestructura. Revise los artículos de Linuxhint para obtener tutoriales más interesantes.