CommunityRedacción y edicióngithub.com

vmware-skills/VMware-AVI

Herramienta de gestión de AVI (NSX Advanced Load Balancer) y operaciones de AKO en Kubernetes

¿Qué es VMware-AVI?

VMware-AVI es una habilidad de agente de IA que combina dos modos de operación en una sola herramienta: la gestión tradicional del controlador AVI (NSX Advanced Load Balancer) y las operaciones de AKO en Kubernetes. Proporciona 28 herramientas MCP (22 de solo lectura y 6 de escritura) que cubren la administración de servicios virtuales, miembros de pool, certificados SSL, análisis, motores de servicio, y diagnóstico completo de AKO. Está diseñada para ingenieros de plataforma y administradores de redes que necesitan automatizar tareas como drenar miembros de pool durante ventanas de mantenimiento, auditar la expiración de certificados, diagnosticar fallos de ingress en Kubernetes, y detectar desviaciones de sincronización entre los recursos de K8s y el controlador AVI. La habilidad se instala fácilmente con `uv tool install vmware-avi` y funciona tanto como CLI para modelos locales como a través del protocolo MCP para modelos en la nube, con confirmación doble para operaciones destructivas y auditoría completa de todas las acciones.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add vmware-skills/VMware-AVI

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

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íaHerramientasRecuentoLectura o Escritura
Virtual Servicelistar, estado, habilitar/deshabilitar32R / 1E
Pool Memberdescubrimiento de pool, lista de miembros, habilitar/deshabilitar miembro (drenar/restaurar tráfico)42R / 2E
SSL Certificatelistar, verificar caducidad22R
Analyticsresumen de métricas de VS, registros de errores de solicitud22R
Service Enginelistar, verificar salud22R
AKO Pod Opsestado, registros, reinicio, información de versión43R / 1E
AKO Configvista de values.yaml, diff de Helm, actualización de Helm32R / 1E
Ingress Diagnosticsvalidación de anotaciones, mapeo de VS, diagnóstico de errores (con recomendaciones de corrección)33R
Sync Diagnosticscomparación K8s-Controlador, lista de inconsistencias, resincronización forzada32R / 1E
Multi-clusterlista de clústeres AKO entre clústeres, estado de AMKO22R

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 UsuarioHabilidad Recomendada
Balanceador de carga, VS, pool, AVI, ALB, AKOvmware-avi ← esta habilidad
Ciclo de vida de VMs, despliegue, operaciones de invitadovmware-aiops (uv tool install vmware-aiops)
Monitoreo de solo lectura de vSpherevmware-monitor (uv tool install vmware-monitor)
Almacenamiento: iSCSI, vSAN, datastoresvmware-storage (uv tool install vmware-storage)
Redes NSX: segmentos, pasarelas, NATvmware-nsx (uv tool install vmware-nsx-mgmt)
Seguridad NSX: reglas DFW, grupos de seguridadvmware-nsx-security (uv tool install vmware-nsx-security)
Tanzu Kubernetes (Supervisor/TKC)vmware-vks (uv tool install vmware-vks)
Aria Ops: métricas, alertas, capacidadvmware-aria (uv tool install vmware-aria)
Flujos de trabajo de múltiples pasos con aprobaciónvmware-pilot
Líneas base de cumplimiento (CIS / 等保 / PCI-DSS), detección de desviaciones, asesor de remediación con LLMvmware-harden (uv tool install vmware-harden)
Consulta de registros de auditoríavmware-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-pool primero.
  • 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:

  1. pool members my-pool → confirma ≥ 2 miembros saludables e identifica la configuración de persistencia de sesión
  2. pool disable my-pool <ip-servidor> (drenaje gradual — nuevas conexiones se detienen, las existentes finalizan)
  3. analytics my-vs --duration 15m → observa el recuento de conexiones activas al miembro drenado tender a cero
  4. Realiza el mantenimiento solo después de que las conexiones activas = 0 (o hayas decidido desconexión forzada)
  5. pool enable my-pool <ip-servidor> → reactivar
  6. 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.

  1. ako status → controlador funcionando, reconciliaciones recientes, ¿sin registros de pánico? Si no, corrige aquí primero
  2. ako ingress check <namespace> → ¿anotaciones requeridas presentes? Error común: kubernetes.io/ingress.class, aviinfrasetting.ako.vmware.com/name
  3. ako sync status → desviación entre el estado de K8s y el estado de Avi. Desviación > unos minutos generalmente indica error del controlador
  4. ako ingress diagnose <nombre-ingress> → diagnóstico propio de AKO; a menudo señala el problema
  5. 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.

  1. 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
  2. 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)
  3. Decisión: certificados marcados como unused (sin VS) → proponer eliminación como parte de la auditoría; certificados in_use → escalar al equipo de certificados con la lista de VS y la fecha exacta de caducidad
  4. Programa un rescan posterior a la renovación (no solo confiar en que el equipo de certificados confirme)

Modo de Uso

EscenarioRecomendadoPor Qué
Modelos locales/pequeños (Ollama, Qwen)CLI~2K tokens vs ~8K para MCP
Modelos en la nube (Claude, GPT-4o)CualquieraMCP proporciona E/S JSON estructurada
Pipelines automatizadosMCPParámetros con tipo seguro, salida estructurada
Solución de problemas de AKOCLISeguimiento interactivo de registros, salida de diff de Helm

Herramientas MCP (28 — 22 de lectura, 6 de escritura)

CategoríaHerramientasL/E
Virtual Service (3)vs_list, vs_statusLectura
vs_toggleEscritura
Pool Member (4)pool_list, pool_membersLectura
pool_member_enable, pool_member_disableEscritura
SSL Certificate (2)ssl_list, ssl_expiry_checkLectura
Analytics (2)vs_analytics, vs_error_logsLectura
Service Engine (2)se_list, se_healthLectura
AKO Pod (4)ako_status, ako_logs, ako_versionLectura
ako_restartEscritura
AKO Config (3)ako_config_show, ako_config_diffLectura
ako_config_upgradeEscritura
Ingress Diagnostics (3)ako_ingress_check, ako_ingress_map, ako_ingress_diagnoseLectura
Sync Diagnostics (3)ako_sync_status, ako_sync_diffLectura
ako_sync_forceEscritura
Multi-cluster (2)ako_clusters, ako_amko_statusLectura

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"

  1. Ejecuta vmware-avi doctor para verificar la conectividad
  2. Verifica que la dirección y el puerto del controlador sean correctos en ~/.vmware-avi/config.yaml
  3. Para certificados autofirmados: establece verify_ssl: false en config.yaml (solo entornos de laboratorio)

Pod de AKO en CrashLoopBackOff

  1. Verifica registros → vmware-avi ako logs --tail 50
  2. Causas comunes: IP del controlador incorrecta en values.yaml, política de red bloqueando la comunicación AKO→Controlador, credenciales caducadas
  3. Corrige configuración → vmware-avi ako config show para inspeccionar, luego vmware-avi ako config upgrade con valores corregidos (la versión se autodescubre — las instalaciones oficiales usan --generate-name; descarga el chart OCI oficial de Broadcom oci://projects.packages.broadcom.com/ako/helm-charts/ako)

Ingress creado pero sin VS en el Controlador

  1. Valida anotaciones → vmware-avi ako ingress check <namespace>
  2. Verifica registros de AKO para razón de rechazo → vmware-avi ako logs --since 5m
  3. Ejecuta diff de sincronización → vmware-avi ako sync diff para 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: en config.yaml (production / staging / lab) como una etiqueta opcional; una regla de deny con ámbito de entorno en ~/.vmware/rules.yaml puede coincidir para bloquear escrituras (por ejemplo, congelar production). Un controlador sin etiqueta simplemente no es coincidido por dicha regla. Las lecturas nunca se ven afectadas
  • Las operaciones destructivas (vs_toggle deshabilitar, pool_member_disable, ako_restart, ako_config_upgrade, ako_sync_force) requieren confirmación doble
  • ako_config_upgrade predetermina al modo --dry-run — el usuario debe confirmar explícitamente para aplicar
  • Ver operaciones recientes: vmware-audit log --last 20

Licencia

MIT — github.com/vmware-skills/VMware-AVI

Skills relacionados