VMware AVI
Aviso: Este es un proyecto de código abierto mantenido por la comunidad y no está afiliado, respaldado ni patrocinado por VMware, Inc. o Broadcom Inc. "VMware", "NSX" y "AVI" son marcas comerciales de Broadcom. El código fuente es auditable públicamente en github.com/vmware-skills/VMware-AVI bajo la licencia MIT.
Gestión de entrega de aplicaciones AVI (NSX Advanced Load Balancer) y operaciones de AKO en Kubernetes — 28 herramientas MCP.
Modo dual: Gestión tradicional del controlador AVI + operaciones de AKO en K8s en una sola habilidad. Familia: vmware-aiops (ciclo de vida de VMs), vmware-monitor (inventario/salud), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-nsx (redes NSX), vmware-nsx-security (DFW/cortafuegos), vmware-aria (métricas/alertas/capacidad), vmware-harden (líneas base de cumplimiento). | vmware-pilot (orquestación de flujos de trabajo) | vmware-policy (auditoría/política)
Qué Hace Esta Habilidad
| Categoría | Herramientas | Recuento | Lectura o Escritura |
|---|---|---|---|
| Virtual Service | listar, estado, habilitar/deshabilitar | 3 | 2R / 1E |
| Pool Member | descubrimiento de pool, lista de miembros, habilitar/deshabilitar miembro (drenar/restaurar tráfico) | 4 | 2R / 2E |
| SSL Certificate | listar, verificar caducidad | 2 | 2R |
| Analytics | resumen de métricas de VS, registros de errores de solicitud | 2 | 2R |
| Service Engine | listar, verificar salud | 2 | 2R |
| AKO Pod Ops | estado, registros, reinicio, información de versión | 4 | 3R / 1E |
| AKO Config | vista de values.yaml, diff de Helm, actualización de Helm | 3 | 2R / 1E |
| Ingress Diagnostics | validación de anotaciones, mapeo de VS, diagnóstico de errores (con recomendaciones de corrección) | 3 | 3R |
| Sync Diagnostics | comparación K8s-Controlador, lista de inconsistencias, resincronización forzada | 3 | 2R / 1E |
| Multi-cluster | lista de clústeres AKO entre clústeres, estado de AMKO | 2 | 2R |
Total: 28 herramientas (22 de lectura + 6 de escritura)
Instalación Rápida
uv tool install vmware-avi
vmware-avi doctor # verifica conectividad del controlador + kubeconfig + avisdk
Cuándo Usar Esta Habilidad
- Listar, habilitar o deshabilitar servicios virtuales en el controlador AVI
- Agregar, eliminar, drenar o restaurar miembros de pool (ventanas de mantenimiento, despliegues continuos)
- Verificar caducidad de certificados SSL en todos los servicios virtuales
- Ver análisis de VS — rendimiento, latencia, tasas de error, registros de solicitudes
- Verificar estado del motor de servicio (basado en inventario) y recuento de ubicación de VS por SE
- Solucionar problemas de pods de AKO — estado, registros, reinicios
- Gestionar configuración de Helm de AKO — ver, diff, actualizar values.yaml
- Validar anotaciones de Ingress y diagnosticar por qué no se creó un VS como se esperaba
- Detectar desviaciones de sincronización entre recursos de K8s y objetos del controlador AVI
- Obtener una vista entre clústeres de los despliegues AKO y el estado de AMKO
Usa habilidades complementarias para:
- Ciclo de vida de VMs, despliegue, operaciones de invitado →
vmware-aiops - Segmentos NSX, pasarelas, NAT →
vmware-nsx - Reglas de cortafuegos DFW, grupos de seguridad →
vmware-nsx-security - Ciclo de vida de clústeres K8s (Supervisor, TKC) →
vmware-vks - Monitoreo de solo lectura de vSphere →
vmware-monitor
Habilidades Relacionadas — Enrutamiento de Habilidades
| Intención del Usuario | Habilidad Recomendada |
|---|---|
| Balanceador de carga, VS, pool, AVI, ALB, AKO | vmware-avi ← esta habilidad |
| Ciclo de vida de VMs, despliegue, operaciones de invitado | vmware-aiops (uv tool install vmware-aiops) |
| Monitoreo de solo lectura de vSphere | vmware-monitor (uv tool install vmware-monitor) |
| Almacenamiento: iSCSI, vSAN, datastores | vmware-storage (uv tool install vmware-storage) |
| Redes NSX: segmentos, pasarelas, NAT | vmware-nsx (uv tool install vmware-nsx-mgmt) |
| Seguridad NSX: reglas DFW, grupos de seguridad | vmware-nsx-security (uv tool install vmware-nsx-security) |
| Tanzu Kubernetes (Supervisor/TKC) | vmware-vks (uv tool install vmware-vks) |
| Aria Ops: métricas, alertas, capacidad | vmware-aria (uv tool install vmware-aria) |
| Flujos de trabajo de múltiples pasos con aprobación | vmware-pilot |
| Líneas base de cumplimiento (CIS / 等保 / PCI-DSS), detección de desviaciones, asesor de remediación con LLM | vmware-harden (uv tool install vmware-harden) |
| Consulta de registros de auditoría | vmware-policy (vmware-audit CLI) |
Flujos de Trabajo Comunes
Ventana de Mantenimiento — Drenar un Miembro del Pool
Pre-vuelo (juicio — afecta tráfico en vivo):
- Verificación de capacidad: el pool debe tener ≥ 2 miembros saludables. Deshabilitar el único otro miembro saludable es un auto-DoS. Verifica con
pool members my-poolprimero. - Persistencia de conexión: si VS usa persistencia de sesión (cookie/IP de origen), las sesiones existentes permanecen fijadas al miembro deshabilitado hasta que caduquen. "Drenar" no es instantáneo — 5-30 min dependiendo del TTL de persistencia.
- Conexiones de larga duración: las sesiones de WebSocket/streaming pueden mantenerse durante horas. Decide de antemano: desconexión forzada (más rápida, visible para el usuario) o esperar (más lenta, transparente).
- Observabilidad: habilita análisis en el VS ANTES de deshabilitar — necesitas la línea base para detectar degradación.
Pasos:
pool members my-pool→ confirma ≥ 2 miembros saludables e identifica la configuración de persistencia de sesiónpool disable my-pool <ip-servidor>(drenaje gradual — nuevas conexiones se detienen, las existentes finalizan)analytics my-vs --duration 15m→ observa el recuento de conexiones activas al miembro drenado tender a cero- Realiza el mantenimiento solo después de que las conexiones activas = 0 (o hayas decidido desconexión forzada)
pool enable my-pool <ip-servidor>→ reactivar- Verifica antes de declarar éxito: el monitor de salud pasa (normalmente 30-90 seg) Y nuevas conexiones llegan al miembro (análisis detallado)
Ingress de AKO No Crea VS
Juicio: esto es una falla en capas — averigua qué capa se rompió antes de sondear aleatoriamente. AKO es un controlador; como todos los controladores de K8s, los modos de fallo son: (a) controlador caído, (b) controlador funcionando pero viendo entradas incorrectas, (c) controlador actuando pero Avi rechazando salidas.
ako status→ controlador funcionando, reconciliaciones recientes, ¿sin registros de pánico? Si no, corrige aquí primeroako ingress check <namespace>→ ¿anotaciones requeridas presentes? Error común:kubernetes.io/ingress.class,aviinfrasetting.ako.vmware.com/nameako sync status→ desviación entre el estado de K8s y el estado de Avi. Desviación > unos minutos generalmente indica error del controladorako ingress diagnose <nombre-ingress>→ diagnóstico propio de AKO; a menudo señala el problema- Si hay desviación de sincronización:
ako sync diff→ revisa qué falta en el lado de Avi. Forzar resincronización solo después de entender por qué ocurrió la desviación — la resincronización ciega oculta errores que se repetirán
Auditoría de Caducidad de Certificados SSL
Juicio: la caducidad de certificados es la interrupción más prevenible en el mundo de los balanceadores de carga. Ejecuta esto regularmente, no de forma reactiva. La ventana de 30 días es un mínimo — para producción, establece 60+ para permitir tiempo de renovación.
ssl expiry --days 60→ detecta certificados que caducan en 60 días, no 30; los ciclos de renovación empresarial toman de 2 a 4 semanas- Referencia cruzada con mapeo de VS (en la salida) → identifica qué aplicaciones están en riesgo; algunos certificados pueden no estar en uso (huérfanos, candidatos para limpieza)
- Decisión: certificados marcados como
unused(sin VS) → proponer eliminación como parte de la auditoría; certificadosin_use→ escalar al equipo de certificados con la lista de VS y la fecha exacta de caducidad - Programa un rescan posterior a la renovación (no solo confiar en que el equipo de certificados confirme)
Modo de Uso
| Escenario | Recomendado | Por Qué |
|---|---|---|
| Modelos locales/pequeños (Ollama, Qwen) | CLI | ~2K tokens vs ~8K para MCP |
| Modelos en la nube (Claude, GPT-4o) | Cualquiera | MCP proporciona E/S JSON estructurada |
| Pipelines automatizados | MCP | Parámetros con tipo seguro, salida estructurada |
| Solución de problemas de AKO | CLI | Seguimiento interactivo de registros, salida de diff de Helm |
Herramientas MCP (28 — 22 de lectura, 6 de escritura)
| Categoría | Herramientas | L/E |
|---|---|---|
| Virtual Service (3) | vs_list, vs_status | Lectura |
vs_toggle | Escritura | |
| Pool Member (4) | pool_list, pool_members | Lectura |
pool_member_enable, pool_member_disable | Escritura | |
| SSL Certificate (2) | ssl_list, ssl_expiry_check | Lectura |
| Analytics (2) | vs_analytics, vs_error_logs | Lectura |
| Service Engine (2) | se_list, se_health | Lectura |
| AKO Pod (4) | ako_status, ako_logs, ako_version | Lectura |
ako_restart | Escritura | |
| AKO Config (3) | ako_config_show, ako_config_diff | Lectura |
ako_config_upgrade | Escritura | |
| Ingress Diagnostics (3) | ako_ingress_check, ako_ingress_map, ako_ingress_diagnose | Lectura |
| Sync Diagnostics (3) | ako_sync_status, ako_sync_diff | Lectura |
ako_sync_force | Escritura | |
| Multi-cluster (2) | ako_clusters, ako_amko_status | Lectura |
División lectura/escritura: 22 herramientas son de solo lectura, 6 modifican el estado. Las herramientas de escritura requieren confirmación doble y se registran en auditoría.
Referencia Rápida de CLI
# === Modo Tradicional (Controlador AVI) ===
vmware-avi vs list [--controller <nombre>]
vmware-avi vs status <nombre-vs>
vmware-avi vs enable <nombre-vs>
vmware-avi vs disable <nombre-vs> # doble confirmación
vmware-avi pool members <nombre-pool>
vmware-avi pool enable <pool> <ip-servidor>
vmware-avi pool disable <pool> <ip-servidor> # doble confirmación (drenaje gradual)
vmware-avi ssl list
vmware-avi ssl expiry [--days 30]
vmware-avi analytics <nombre-vs>
vmware-avi logs <nombre-vs> [--since 1h]
vmware-avi se list
vmware-avi se health
# === Modo AKO (K8s) ===
vmware-avi ako status [--context <contexto-k8s>]
vmware-avi ako logs [--tail 100] [--since 30m]
vmware-avi ako restart # doble confirmación
vmware-avi ako config show
vmware-avi ako config diff
vmware-avi ako config upgrade # doble confirmación + --dry-run por defecto
vmware-avi ako ingress check <namespace>
vmware-avi ako ingress map
vmware-avi ako ingress diagnose <nombre-ingress>
vmware-avi ako sync status
vmware-avi ako sync diff
vmware-avi ako sync force # doble confirmación
vmware-avi ako clusters
vmware-avi ako amko status
Referencia CLI completa: consulta
references/cli-reference.md
Solución de Problemas
Error "Controlador inalcanzable"
- Ejecuta
vmware-avi doctorpara verificar la conectividad - Verifica que la dirección y el puerto del controlador sean correctos en
~/.vmware-avi/config.yaml - Para certificados autofirmados: establece
verify_ssl: falseen config.yaml (solo entornos de laboratorio)
Pod de AKO en CrashLoopBackOff
- Verifica registros →
vmware-avi ako logs --tail 50 - Causas comunes: IP del controlador incorrecta en values.yaml, política de red bloqueando la comunicación AKO→Controlador, credenciales caducadas
- Corrige configuración →
vmware-avi ako config showpara inspeccionar, luegovmware-avi ako config upgradecon valores corregidos (la versión se autodescubre — las instalaciones oficiales usan--generate-name; descarga el chart OCI oficial de Broadcomoci://projects.packages.broadcom.com/ako/helm-charts/ako)
Ingress creado pero sin VS en el Controlador
- Valida anotaciones →
vmware-avi ako ingress check <namespace> - Verifica registros de AKO para razón de rechazo →
vmware-avi ako logs --since 5m - Ejecuta diff de sincronización →
vmware-avi ako sync diffpara ver si el objeto está atascado
Miembro del pool muestra "down" después de habilitar
El monitor de salud puede seguir fallando. Verifica el estado de salud real en el lado del Controlador — el miembro está habilitado pero no saludable. Corrige el servicio backend primero, luego el estado de salud se recuperará automáticamente.
La verificación de caducidad SSL muestra 0 certificados
Verifica que la conexión del controlador tenga acceso a nivel de tenant. Los certificados están limitados por tenant en AVI — el usuario configurado solo puede ver certificados en su tenant.
La sincronización forzada de AKO no tiene efecto
La resincronización forzada hace que AKO re-reconcilie todos los objetos de K8s. Si la desviación persiste, el problema probablemente está en la definición del recurso K8s (anotación incorrecta, secreto faltante). Usa vmware-avi ako ingress diagnose para identificar la causa raíz.
Configuración
uv tool install vmware-avi
mkdir -p ~/.vmware-avi
vmware-avi init # genera plantillas de config.yaml y .env
chmod 600 ~/.vmware-avi/.env
vmware-avi doctor # verifica conectividad del Controlador + K8s
Todas las herramientas se auditan automáticamente a través de vmware-policy. Registros de auditoría:
vmware-audit log --last 20
Versiones compatibles: Controlador AVI 22.1.x (problemas de endpoints de análisis corregidos en v1.5.11) y 30.x. VCF 9.0 / 9.1 declarado compatible (avisdk >=22.1,<31.0 cubre AVI incluido). Python 3.11+. Tabla completa: references/capabilities.md → Compatibilidad de Versiones.
Guía de configuración completa, detalles de seguridad, compatibilidad de plataformas de IA y despliegue en contenedor/Smithery: consulta
references/setup-guide.md
Auditoría y Seguridad
Todas las operaciones se auditan automáticamente a través de vmware-policy (decorador @vmware_tool):
- Cada llamada de herramienta se registra en
~/.vmware/audit.db(SQLite, independiente del framework) - Las reglas de política se aplican a través de
~/.vmware/rules.yaml(reglas de denegación, ventanas de mantenimiento, niveles de riesgo) - Cada controlador puede declarar
environment:enconfig.yaml(production/staging/lab) como una etiqueta opcional; una regla dedenycon ámbito de entorno en~/.vmware/rules.yamlpuede coincidir para bloquear escrituras (por ejemplo, congelarproduction). Un controlador sin etiqueta simplemente no es coincidido por dicha regla. Las lecturas nunca se ven afectadas - Las operaciones destructivas (
vs_toggledeshabilitar,pool_member_disable,ako_restart,ako_config_upgrade,ako_sync_force) requieren confirmación doble ako_config_upgradepredetermina al modo--dry-run— el usuario debe confirmar explícitamente para aplicar- Ver operaciones recientes:
vmware-audit log --last 20