Laboratorio: automatización de infraestructura
Usar la API REST de VergeOS, el proveedor de Terraform y herramientas de scripting para automatizar de extremo a extremo el aprovisionamiento de VM e inquilinos.
Objetivo
Automatiza las operaciones de infraestructura de VergeOS usando la API REST, el proveedor de Terraform y herramientas de scripting (pyvergeos o PowerShell). Al finalizar este laboratorio, habrás aprovisionado VMs e inquilinos de forma programática y comprenderás cómo integrar VergeOS en flujos de trabajo de CI/CD y automatización.
Requisitos previos
Módulo 1 completado: Fundamentos de la arquitectura
Módulo 6 completado: Máquinas virtuales
Módulo 7 completado: Multiinquilinato
Lectura del Módulo 8 completada (API REST, Terraform, Python/PowerShell, Cloud-Init)
Un clúster de VergeOS en ejecución con acceso a la API habilitado
Terraform instalado localmente (v1.5+)
Python 3.9+ o PowerShell 7+ instalado localmente
Acceso al vergeos-terraform-playground repositorio
Dificultad
Intermedio -- Requiere familiaridad con las API REST, conceptos de infraestructura como código y scripting básico
Tiempo estimado
2 horas
Pasos
Parte 1: Exploración de la API REST
Autentícate con la API de VergeOS y realiza operaciones básicas.
Obtén una clave de API desde la interfaz de VergeOS (Sistema > Usuarios > [tu usuario] > Claves de API)
Usa
curlo un cliente REST para autenticarte:Enumera todas las VMs usando el
/api/v4/vmsendpointCrea una nueva VM a través de la API:
POST a
/api/v4/vmscon un cuerpo JSON que especifique nombre, CPU, memoria y disco
Inicia y detén la VM usando la API
Elimina la VM a través de la API
Explora endpoints adicionales: redes (
/api/v4/vnets— la tabla se llamavnetsmientras que el nombre en la UI/objeto es "Networks"), inquilinos (/api/v4/tenants)
Parte 2: Proveedor de Terraform
Usa el proveedor de Terraform de VergeOS para gestionar la infraestructura de forma declarativa.
Clona el repositorio vergeos-terraform-playground:
Revisa la configuración del proveedor en
main.tfCopia y personaliza un archivo de ejemplo
.tfvarspara tu entornoEjecuta
terraform initpara descargar el proveedor de VergeOSEjecuta
terraform planpara previsualizar los cambios de infraestructuraEjecuta
terraform applypara aprovisionar recursosVerifica los recursos creados en la interfaz de VergeOS
Modifica un recurso en la configuración de Terraform y vuelve a aplicar
Ejecuta
terraform destroypara limpiar
Parte 3: Automatización con scripting
Automatiza un flujo de trabajo usando pyvergeos (Python) o el módulo de PowerShell.
Instala pyvergeos:
Escribe un script que:
Se conecte a tu clúster de VergeOS
Enumere todas las VMs y su estado actual
Cree una nueva VM a partir de una receta/plantilla
Espere a que la VM esté en ejecución
Devuelva la dirección IP de la VM y los detalles de conexión
Amplía el script para:
Crear un inquilino con asignaciones de recursos predefinidas
Desplegar una VM dentro del inquilino
Verificar el aislamiento del inquilino comprobando la conectividad de red
Parte 4: Cloud-Init
Configura el aprovisionamiento desatendido de VMs usando cloud-init.
Crea un archivo de configuración de cloud-init con:
Configuración de nombre de host y de red
Cuentas de usuario y claves SSH
Comandos de instalación de paquetes
Scripts posteriores al arranque
Adjunta la configuración de cloud-init a una nueva VM a través de la API o la UI
Arranca la VM y verifica que la configuración de cloud-init se haya aplicado:
Comprueba el nombre de host y la configuración de red
Verifica que existan las cuentas de usuario
Confirma que se instalaron los paquetes
Verificación
Tu laboratorio de automatización de infraestructura está completo cuando puedas responder sí a todo lo siguiente:
Última actualización
¿Te fue útil?