procedures_ansible_guia_de_arquitectura_verificacion
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| procedures_ansible_guia_de_arquitectura_verificacion [2026/01/19 04:41] – created aperez | procedures_ansible_guia_de_arquitectura_verificacion [2026/01/19 05:56] (current) – removed aperez | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Ansible Automation Server — Guía de Arquitectura y Verificación ====== | ||
| - | |||
| - | ===== Objetivo ===== | ||
| - | Este documento describe **el estado final validado** del servidor Ansible, incluyendo: | ||
| - | * Arquitectura mínima requerida | ||
| - | * Paquetes, versiones y entorno virtual | ||
| - | * Árbol de directorios obligatorio | ||
| - | * Archivos críticos y su propósito | ||
| - | * Scripts auxiliares (SSH / Expect / Known Hosts) | ||
| - | * Comandos reales de instalación, | ||
| - | |||
| - | El objetivo es permitir: | ||
| - | * Auditoría técnica | ||
| - | * Reproducción del entorno | ||
| - | * Troubleshooting estructurado | ||
| - | * Onboarding de nuevos ingenieros | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 1. Arquitectura Base del Servidor ===== | ||
| - | |||
| - | * OS: Linux (Debian/ | ||
| - | * Usuario operativo: root | ||
| - | * Path base: `/ | ||
| - | * Ejecución: entorno virtual Python (venv) | ||
| - | * Automatización: | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 2. Árbol de Directorios Requerido ===== | ||
| - | |||
| - | <code text> | ||
| - | / | ||
| - | ├── ansible.cfg | ||
| - | ├── requirements.yml | ||
| - | ├── venv/ | ||
| - | │ | ||
| - | ├── inventory/ | ||
| - | │ | ||
| - | │ | ||
| - | ├── group_vars/ | ||
| - | │ | ||
| - | │ | ||
| - | │ | ||
| - | ├── playbooks/ | ||
| - | │ | ||
| - | │ | ||
| - | ├── scripts/ | ||
| - | │ | ||
| - | │ | ||
| - | │ | ||
| - | │ | ||
| - | │ | ||
| - | │ | ||
| - | ├── logs/ | ||
| - | │ | ||
| - | ├── tmp/ | ||
| - | │ | ||
| - | └── backups/ | ||
| - | └── cli_backup/ | ||
| - | </ | ||
| - | |||
| - | **Permisos esperados** | ||
| - | <code bash> | ||
| - | chmod 700 / | ||
| - | chmod 700 /root/.ssh | ||
| - | chmod 600 / | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 3. Entorno Virtual y Dependencias ===== | ||
| - | |||
| - | ====== Activación del venv ====== | ||
| - | <code bash> | ||
| - | cd / | ||
| - | source venv/ | ||
| - | </ | ||
| - | |||
| - | ====== Dependencias del sistema ====== | ||
| - | <code bash> | ||
| - | apt-get update | ||
| - | apt-get install -y \ | ||
| - | build-essential \ | ||
| - | pkg-config \ | ||
| - | libssh-dev \ | ||
| - | libssl-dev \ | ||
| - | python3-dev | ||
| - | </ | ||
| - | |||
| - | ====== Instalación de pip + pylibssh ====== | ||
| - | <code bash> | ||
| - | python -m pip install -U pip setuptools wheel | ||
| - | python -m pip install ansible-pylibssh | ||
| - | </ | ||
| - | |||
| - | ====== Verificación ====== | ||
| - | <code bash> | ||
| - | python -c " | ||
| - | ansible --version | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 4. Collections de Ansible (Galaxy) ===== | ||
| - | |||
| - | ====== Archivo requirements.yml ====== | ||
| - | <code bash> | ||
| - | cat / | ||
| - | </ | ||
| - | |||
| - | <code yaml> | ||
| - | collections: | ||
| - | - name: arubanetworks.aoscx | ||
| - | - name: arubanetworks.aos_switch | ||
| - | - name: dellemc.os6 | ||
| - | - name: cisco.ios | ||
| - | - name: ansible.netcommon | ||
| - | - name: ansible.utils | ||
| - | </ | ||
| - | |||
| - | ====== Instalación ====== | ||
| - | <code bash> | ||
| - | ansible-galaxy collection install \ | ||
| - | -r / | ||
| - | -p / | ||
| - | --force | ||
| - | </ | ||
| - | |||
| - | ====== Verificación ====== | ||
| - | <code bash> | ||
| - | ansible-galaxy collection list | egrep -i " | ||
| - | </ | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 5. SSH y Known Hosts ===== | ||
| - | |||
| - | ====== Estructura ====== | ||
| - | <code text> | ||
| - | /root/.ssh | ||
| - | ├── known_hosts | ||
| - | └── known_hosts.bak.* | ||
| - | </ | ||
| - | |||
| - | ====== Scripts disponibles ====== | ||
| - | * knownhosts_north.sh | ||
| - | * knownhosts_south.sh | ||
| - | * knownhosts_update.sh → método robusto con locking y logs | ||
| - | |||
| - | ====== Ejecución recomendada ====== | ||
| - | <code bash> | ||
| - | / | ||
| - | / | ||
| - | </ | ||
| - | |||
| - | Salida esperada: | ||
| - | * Backup automático de known_hosts | ||
| - | * Logs en `/ | ||
| - | * Deduplicación | ||
| - | * Control de concurrencia (`flock`) | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 6. Scripts Expect (Backups) ===== | ||
| - | |||
| - | ====== aoss_2930_backup.expect ====== | ||
| - | Uso: | ||
| - | <code bash> | ||
| - | / | ||
| - | <ip> < | ||
| - | </ | ||
| - | |||
| - | Características: | ||
| - | * Autenticación por password | ||
| - | * Manejo de banners | ||
| - | * Deshabilita paging | ||
| - | * Captura `show running-config` | ||
| - | * Logs debug en `/ | ||
| - | |||
| - | ====== instant_backup.expect ====== | ||
| - | Uso: | ||
| - | <code bash> | ||
| - | / | ||
| - | <ip> < | ||
| - | </ | ||
| - | |||
| - | Especial para: | ||
| - | * Instant AP | ||
| - | * Virtual Controllers | ||
| - | * Prompt MAC / hostname | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 7. Inventarios ===== | ||
| - | |||
| - | Ubicación: | ||
| - | <code text> | ||
| - | / | ||
| - | </ | ||
| - | |||
| - | Formato: | ||
| - | * INI clásico | ||
| - | * Uso de `ansible_host` | ||
| - | * Separación NORTH / SOUTH | ||
| - | |||
| - | Estos inventarios alimentan: | ||
| - | * Ansible | ||
| - | * knownhosts_update.sh | ||
| - | * Scripts expect | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 8. Checklist de Verificación Rápida ===== | ||
| - | |||
| - | ✔ `source venv/ | ||
| - | ✔ `ansible --version` | ||
| - | ✔ `ansible-galaxy collection list` | ||
| - | ✔ `/ | ||
| - | ✔ Scripts expect ejecutables | ||
| - | ✔ Inventarios parsean correctamente (`ansible-inventory --list`) | ||
| - | ✔ Backups generan archivos > 200 bytes | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 9. Estado Final ===== | ||
| - | |||
| - | Este servidor queda **VALIDADO PARA PRODUCCIÓN** con: | ||
| - | * Método Ansible nativo | ||
| - | * Fallback robusto con Expect | ||
| - | * Manejo correcto de SSH legacy | ||
| - | * Logs, backups y trazabilidad completa | ||
| - | |||
| - | Este documento es la **fuente de verdad** del entorno. | ||
procedures_ansible_guia_de_arquitectura_verificacion.1768797675.txt.gz · Last modified: by aperez
