Beginner
Curso Completo de OpenTofu: De Cero a DevOps Engineer 1/6
- 1 Section
- 1 Lesson
- 1 Quiz
- 1h Duration
Quiz and gradebook sections
1 Lesson1 Quiz
Capítulo 1: Introducción a la Infraestructura como Código (IaC) y OpenTofu
1. Introducción
En la informática tradicional, los servidores y las redes se configuraban manualmente haciendo clic en interfaces web o ejecutando comandos en terminales. Esto provocaba inconsistencias ("en mi máquina funciona"), lentitud y falta de control. La Infraestructura como Código (IaC) resuelve esto permitiendo definir el hardware, las redes y los servicios mediante archivos de texto legibles y programables.
2. Definición y Explicación
- OpenTofu: Herramienta de IaC declarativa y de código abierto (surgida como una bifurcación de Terraform).
- Declarativa: Significa que tú defines el estado deseado (ej. "quiero 3 servidores") y OpenTofu se encarga de averiguar los pasos necesarios para llegar a ese estado.
- El Flujo de Trabajo Principal (Workflow): Consta de 4 comandos esenciales:
tofu init: Inicializa el directorio de trabajo descargando los conectores necesarios (providers).tofu plan: Muestra una vista previa de los cambios que OpenTofu realizará en la infraestructura real sin llegar a aplicarlos.tofu apply: Ejecuta las acciones planificadas para crear o modificar la infraestructura.tofu destroy: Elimina por completo toda la infraestructura gestionada por ese código.
3. Ejemplo
Un archivo mínimo de configuración (
main.tofu o main.tf) para crear un archivo local en tu computadora usando el proveedor local:hcl
terraform {
required_providers {
local = {
source = "hashicorp/local"
version = "~> 2.0"
}
}
}
provider "local" {}
resource "local_file" "ejemplo_archivo" {
filename = "${path.module}/saludo.txt"
content = "¡Hola, Mundo desde OpenTofu!"
}
Usa el código con precaución.
4. Buenas Prácticas
- Usa control de versiones: Guarda siempre tu código de OpenTofu en repositorios Git desde el primer día.
- Fija las versiones: Especifica siempre la versión del proveedor que estás utilizando (
version = "~> 2.0") para evitar que actualizaciones automáticas rompan tu código en el futuro.
Want to submit a review? Login
