Colección de Ansible
Automatiza la infraestructura de VergeOS con la colección Ansible vergeio.vergeos: módulos para instantáneas de VM, etiquetado e importaciones, además de un complemento de inventario dinámico para entornos multisitio.
Ansible aporta automatización sin agentes y basada en push para la gestión de infraestructuras. La vergeio.vergeos La colección de Ansible amplía Ansible con módulos diseñados específicamente y un complemento de inventario para VergeOS, lo que te permite gestionar instantáneas de VM, organizar recursos con etiquetas, importar imágenes de VM y descubrir dinámicamente la infraestructura en varios sitios, todo ello mediante playbooks YAML conocidos.
Resumen de la colección
La colección VergeOS para Ansible se publica en Ansible Galaxy y se integra directamente con la API REST de VergeOS a través de pyvergeos SDK de Python.
Espacio de nombres
vergeio
Colección
vergeos
Referencia completa
vergeio.vergeos
Python
>= 3.9
Ansible
>= 2.14.0
Dependencia del SDK
pyvergeos >= 1.0.1
Fuente
Instalación
Instala la colección desde Ansible Galaxy:
# Instalar desde Galaxy (recomendado)
ansible-galaxy collection install vergeio.vergeos
# Instalar el SDK de Python requerido
pip install pyvergeosPara entornos de desarrollo o sin conexión, compila e instala desde el código fuente:
Autenticación
La colección utiliza variables de entorno para la autenticación de la API, manteniendo las credenciales fuera de tus playbooks y archivos de inventario:
Como alternativa, puedes usar autenticación con clave API para escenarios no interactivos como canalizaciones de CI/CD. Las claves API se crean en Sistema > Usuarios > [seleccionar usuario] > Claves API dentro de la interfaz de VergeOS y proporcionan autenticación mediante token Bearer sin requerir credenciales de usuario/contraseña.
Módulos
La colección proporciona módulos para operaciones del ciclo de vida de las VM, etiquetado y gestión de imágenes. Cada módulo se comunica con la API de VergeOS a través del SDK pyvergeos.
Módulo de instantáneas de VM
La vergeio.vergeos.vm_snapshot el módulo crea y administra instantáneas de VM de forma programática, útil para la automatización de copias de seguridad, puntos de control previos a cambios y flujos de trabajo de recuperación ante desastres.
Módulos de gestión de etiquetas
Las etiquetas proporcionan un sistema de clasificación flexible para organizar los recursos de VergeOS. La colección incluye dos módulos para la gestión de etiquetas:
vergeio.vergeos.tag_category
Crear y administrar categorías de etiquetas (por ejemplo, "Entorno", "Departamento")
vergeio.vergeos.tag
Aplicar y administrar etiquetas individuales dentro de las categorías
Capacidades de importación de VM
La colección despliega VMs desde plantillas OVA que ya se han cargado en VergeOS, la vm_import el módulo referencia una OVA existente por nombre o ID, y la CPU y la RAM se toman de la propia OVA. Carga primero la OVA (interfaz o API) y luego ejecuta el playbook para crear la VM.
Complemento de inventario dinámico
La vergeos_vms el complemento de inventario consulta la API de VergeOS para descubrir dinámicamente las VMs y construir el inventario de Ansible, eliminando la necesidad de mantener archivos de hosts estáticos.
Configuración del inventario
Crea un archivo de inventario (por ejemplo, vergeos_inventory.yml):
Agrupación automática
El complemento organiza automáticamente las VMs descubiertas en grupos según múltiples dimensiones:
Sitio
datacenter_east, datacenter_west
Dirige playbooks a ubicaciones específicas
Estado
status_running, status_stopped
Ejecuta tareas solo en VMs activas
Etiquetas
tag_Production, tag_Development
Configuración específica del entorno
Inquilino
tenant_acme, tenant_globex
Automatización multiinquilino
Familia de SO
os_linux, os_windows
Playbooks específicos del sistema operativo
Clúster
cluster_compute01, cluster_compute02
Mantenimiento consciente del clúster
Nodo
node_node1, node_node2
Operaciones a nivel de nodo
Variables de host
Cada VM descubierta expone más de 20 variables de host, incluidos el ID de la VM, el nombre, los núcleos de CPU, la RAM, la familia de SO, el estado de energía, la asignación de clúster, la ubicación del nodo, la configuración de red, las etiquetas y todo el diccionario de datos de la VM para casos de uso avanzados.
Patrones de playbook
Orquestación de instantáneas en varios sitios
Usa el filtrado basado en etiquetas con el inventario dinámico para orquestar instantáneas entre sitios:
Configuración de la infraestructura de etiquetas
Establece una taxonomía de etiquetado coherente en todo tu entorno VergeOS:
Flujo de trabajo de importación de VM de Windows
Automatiza la importación de plantillas de VM de Windows desde archivos OVA:
Patrones de integración
Canalización de Terraform + Ansible
Un patrón común combina Terraform para el aprovisionamiento con Ansible para la configuración: Terraform declara la infraestructura, Ansible configura lo que se ejecuta dentro de ella.
Aprovisionamiento
Terraform
Crear VMs, redes, usuarios, discos
Descubrimiento
Inventario
Consultar la API de VergeOS para las VMs recién creadas
Configuración
Ansible
Instalar paquetes, configurar servicios, aplicar líneas base de seguridad
Validación
Ansible
Ejecutar pruebas de humo, verificar conectividad, comprobar cumplimiento
SDK de Python + Ansible
Para flujos de trabajo complejos que necesitan lógica programática más allá de lo que ofrecen los playbooks YAML, combina el pyvergeos SDK de Python con Ansible:
Integración CI/CD
Los playbooks de Ansible se integran de forma natural en canalizaciones CI/CD para la automatización de infraestructuras:
GitLab CI
Activa playbooks de Ansible desde .gitlab-ci.yml etapas para el aprovisionamiento y la configuración automatizados de VMs al fusionar en main.
Jenkins
Usa el complemento de Ansible para Jenkins para ejecutar playbooks como pasos de compilación, con credenciales gestionadas a través del almacén de credenciales de Jenkins.
GitHub Actions
Ejecuta playbooks de Ansible en flujos de trabajo de GitHub Actions usando la ansible-playbook acción para cambios de infraestructura impulsados por solicitudes de extracción.
AWX / Tower
Despliega Ansible AWX para una interfaz web, RBAC y ejecución programada de playbooks contra entornos VergeOS.
Prácticas recomendadas
Gestión de credenciales
Nunca codifiques credenciales en playbooks o archivos de inventario; usa variables de entorno o Ansible Vault
Usa claves API para cuentas de servicio en producción; admiten listas de अनुमति IP y fechas de caducidad
Rota las credenciales con regularidad y audita el uso de claves API a través de la interfaz de VergeOS
Estrategia de inventario
Habilita la caché para entornos grandes a fin de reducir las llamadas a la API y acelerar las ejecuciones de playbooks
Usa filtros para acotar el inventario a las VMs relevantes; evita cargar todo el entorno
Inventarios separados por entorno (desarrollo, preproducción, producción) por seguridad
Diseño de playbook
Usa
delegate_to: localhostpara llamadas a la API de VergeOS; los módulos hablan con la API, no con las VMs invitadas mediante SSHAprovecha las etiquetas para la selección; proporcionan un sistema de agrupación flexible y multidimensional
Implementa idempotencia — diseña playbooks que puedan ejecutarse de nuevo con seguridad sin efectos secundarios
Lecturas adicionales
Última actualización
¿Te fue útil?