Unificada, automatizada y preparada para convertir los datos en inteligencia.
Descubra cómo extraer el verdadero valor de sus datos.
Terraform, desarrollado por HashiCorp , es una herramienta de infraestructura como código (IaC) ampliamente utilizada que permite a los usuarios definir y aprovisionar la infraestructura de software usando un lenguaje de configuración de alto nivel. A medida que las organizaciones adoptan cada vez más infraestructuras basadas en la nube, Terraform se ha vuelto esencial para gestionar y automatizar el despliegue de los recursos de infraestructura. Uno de los comandos principales de Terraform es el plan de terraform, un paso crítico en el proceso de despliegue que garantiza que los cambios en la infraestructura sean seguros, previsibles y eficientes.
En este artículo, veremos más de cerca este comando, lo que hace y cómo interpretar su resultado para sus configuraciones Terraform.
El comando de plan de terraform es una parte vital del flujo de trabajo de Terraform que sirve como simulacro o vista previa de los cambios que Terraform realizará en su infraestructura. Compara el estado actual de su infraestructura con el estado deseado definido en sus archivos de configuración de Terraform y muestra las acciones específicas que Terraform tomará para salvar la brecha. Esto incluye adiciones, eliminaciones y modificaciones de recursos, como la creación de nuevas máquinas virtuales, el escalamiento de las bases de datos existentes o la eliminación de los volúmenes de almacenamiento no utilizados.
Tener la capacidad de previsualizar el cambio que su código de configuración causará en su infraestructura es beneficioso de muchas maneras, entre ellas:
Para ejecutar el plan terraform, primero asegúrese de tener Terraform instalado en su máquina local. Puede descargar e instalar la versión adecuada desde el sitio web oficial de HashiCorp .
Antes de ejecutar el comando de plan, tendrá que crear un archivo de configuración básico de Terraform llamado main.tf en su directorio de trabajo. A continuación se muestra un ejemplo de una configuración sencilla que crea un recurso de máquina virtual en un proveedor de nube:
# Configure the cloud provider (replace with your provider details)
provider "aws" {
region = "us-east-1"
}
# Define a virtual machine resource
resource "aws_instance" "my_vm" {
ami = "ami-0f78f7e824d9499e0" # Replace with the desired AMI ID
instance_type = "t2.micro"
}
1. Inicializar el directorio Terraform
Desplácese hasta su directorio de trabajo que contiene el archivo main.tf y ejecute el siguiente comando en su terminal:
$ terraform init
Este comando inicializa el directorio de Terraform, descarga los complementos o módulos necesarios mencionados en su configuración y prepara el entorno para trabajar con Terraform.
2. Ejecutar plan Terraform
Una vez completada la inicialización, ejecute el siguiente comando para generar el plan de ejecución:
$ terraform plan
Este comando analiza su configuración Terraform y la compara con el estado actual de su infraestructura (si lo hubiera). Luego muestra un plan detallado que describe las acciones que Terraform realizará para lograr el estado deseado definido en su configuración. El plan normalmente mostrará los recursos que se crearán, modificarán o eliminarán.
3. Guarde el resultado del plan
Si desea guardar el plan para consultarlo en el futuro o compartirlo con los miembros del equipo, puede usar opcionalmente el indicador -out con el comando del plan. Por ejemplo, el siguiente comando guarda el plan en un archivo llamado plan.tfplan:
$ terraform plan -out=plan.tfplan
El comando de plan de terraform solo previsualiza los cambios. No realiza ninguna modificación en su infraestructura. Después de revisar y aprobar el plan, puede usar el comando de aplicación del terraform $ para ejecutar los cambios planificados.
El resultado del plan de terraformes suele dividirse en varias secciones, cada una de las cuales ofrece información valiosa sobre las acciones planificadas:
Esta sección enumera las acciones específicas que Terraform pretende realizar en sus recursos de infraestructura. Estas acciones se clasifican en tres tipos principales:
Esta sección proporciona información detallada sobre cada recurso que se verá afectado por el plan. Aquí tiene un desglose de los detalles que normalmente puede encontrar:
Esta sección detalla los cambios específicos que se aplicarán al recurso. Para los recursos que se crean (indicados por +), se enumerarán los atributos y sus valores correspondientes que se definirán. Para los recursos que se modifican, mostrará los cambios en los atributos existentes.
El resultado del plan suele concluir con una sección de resumen que proporciona una visión general de alto nivel de las acciones planificadas. Este resumen suele desglosar el número total de recursos en las siguientes categorías:
Para añadir: El número de recursos nuevos que se crearán
Para cambiar: El número de recursos existentes que se modificarán
Para destruir: El número de recursos existentes que se eliminarán
Cuando ejecuta un plan terraform con la configuración de muestra que creamos anteriormente, obtiene unos resultados similares a los siguientes:
# $ terraform plan
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:
# aws_instance.my_vm will be created
resource "aws_instance" "my_vm" {
+ ami = "ami-0f78f7e824d9499e0"
+ instance_type = "t2.micro"
+ tags = {
+ Name = "sample-tag"
}
}
1. Acciones de recursos: La primera línea indica que Terraform realizará acciones de creación (+) durante este plan.
2. Detalles del recurso: La sección siguiente profundiza en los detalles de un único recurso, aws_instance.my_vm . Esto significa que Terraform creará una nueva instancia AWS EC2 llamada my_vm en su entorno de AWS. Los detalles especifican además la ID de AMI (ami-0f78f7e824d9499e0), el tipo de instancia (t2.micro ) y una etiqueta (Nombre = "etiqueta de muestra ") que Terraform aplicará a la nueva instancia.
3. Resumen (implícito): Si bien no se muestra explícitamente en este ejemplo, es posible que se muestre un resumen al final de un resultado de plan más complejo, que indique el número total de recursos que hay que crear.
El comando de plan de terraform es su red de seguridad antes de aplicar cambios en la infraestructura. Las siguientes son algunas prácticas esenciales para maximizar sus beneficios:
Escrutinizar los cambios en los recursos:
Detecte los posibles problemas:
Aprovechamiento de los resultados:
El plan Terraform es una herramienta potente en el flujo de trabajo de Terraform. Ofrece un método seguro y transparente para previsualizar y validar los cambios en la infraestructura antes de aplicarlos. Al entender y usar de manera efectiva el plan Terraform, puede asegurarse de que sus despliegues son eficientes, previsibles y libres de consecuencias imprevistas.
Pure Storage ofrece las mejores soluciones de almacenamiento de bloques persistentes para sus implementaciones de Terraform. Portworx® proporciona una plataforma de datos completa para todas sus cargas de trabajo de contenedores y Kubernetes Terraform. Con Pure Cloud Block Store™, puede ejecutar cualquier base de datos o cargas de trabajo de contenedores en la nube, igual que en la infraestructura local.
Prepárese para el evento más valioso al que asistirá este año.
Acceda a vídeos y demostraciones bajo demanda para ver lo que Everpure puede hacer.
Charlie Giancarlo explica por qué la gestión de los datos —y no del almacenamiento— es el futuro. Descubra cómo un enfoque unificado transforma las operaciones de TI de la empresa.
Las cargas de trabajo modernas exigen velocidad, seguridad y escala preparadas para la IA. ¿Su stack está listo?