Saltar al contenido principal

Guía de Instalación On-Premise

Este documento describe los prerrequisitos previos al despliegue, los pasos de verificación y las consideraciones necesarias para la instalación y despliegue exitoso del producto EKB On-Premise. Está destinado a servir como una lista de verificación completa para garantizar que el entorno del cliente esté configurado correctamente y cumpla con todos los requisitos necesarios antes de proceder con el despliegue.

Prerrequisitos​

Requisitos de Acceso​

  • Acceso al Servidor:
    • Confirme el acceso a los servidores de despliegue con privilegios sudo.
    • Verifique que todas las rutas de red necesarias estén establecidas a través de una VPN segura o una configuración de red dedicada.
  • Permisos de Usuario:
    • Asegúrese de que el equipo de despliegue haya recibido los permisos de acceso necesarios.
    • Valide que cualquier autenticación de dos factores (2FA) o token de seguridad requerido esté configurado.

Requisitos del Sistema​

Sistema Operativo: Ubuntu 22 o RHEL 8.10

Especificaciones de Hardware:

Para cada nivel de despliegue, asegúrese de que el hardware cumpla o supere los siguientes requisitos:

NivelNucleosRAM (GB)SSD
PEQUEÑO16641TB
MEDIANO321282TB
GRANDEPersonalizadoPersonalizadoPersonalizado
  • GPU (Requerida cuando se despliega un LLM en la misma máquina que la plataforma EKB.)
  • PEQUEÑO: ~500 (100 Concurrentes) usuarios pueden ser soportados por una sola VM de 16 núcleos, 64gb ram, 1 TB SSD. Estas máquinas cuestan ~$600 al mes. Este es un despliegue de tamaño mínimo.
  • MEDIANO: ~2000 (500 Concurrentes) usuarios pueden ser soportados por una máquina más grande de 32 núcleos, 128gb ram, 2 TB SSD. Estas máquinas cuestan aproximadamente ~$1,200 al mes.
  • GRANDE: ~10000 (1000+ Concurrentes) usuarios deben ser desplegados a través de contenedores para que la infraestructura pueda escalar según las necesidades, esto típicamente cuesta un mínimo de $2,000 al mes. Se sugiere calcular $2,000 al mes por cada 1,000 Usuarios Activos adicionales. Este es un despliegue completamente distribuido.

Herramientas de Despliegue y Dependencias de Software​

  • Scripts de Despliegue:
    • Scripts de despliegue Bash verificados y controlados por versiones.
  • Herramientas de Gestión de Dependencias:
    • Python 3
    • Git (versión actual)
    • Docker (v27.1.1) o Podman
  • Herramientas Adicionales (Opcional):
    • Herramientas de registro y monitoreo (por ejemplo, ELK Stack, Prometheus, Grafana) según los requisitos de monitoreo del cliente.

Credenciales y Claves​

  • Credenciales del Servidor:
    • Asegúrese de que todas las credenciales de acceso al servidor estén actualizadas y almacenadas de forma segura.
  • Claves API y Licencias de la Aplicación:
    • Verifique que todas las claves API y licencias específicas de la aplicación (por ejemplo, OpenAI, SERP, Sentry) estén disponibles y sean válidas.

Lista de Verificación Previa al Despliegue​

Verificación de Hardware y Sistema​

Asegúrese de que la configuración de hardware y sistema del cliente coincida con las especificaciones:

# Verificar información de CPU

lscpu # Funciona tanto en Ubuntu como en RHEL

cat /proc/cpuinfo # Información de CPU más detallada


# Verificar uso de memoria

free -h # Formato legible para uso de memoria

cat /proc/meminfo # Información de memoria detallada


# Verificar uso de almacenamiento

df -h # Muestra el uso de disco

lsblk # Lista dispositivos de bloques y particiones

3.2 Verificación de Software y Dependencias​

Verifique que todos los componentes de software necesarios estén instalados y con las versiones correctas:

# Verificar versión de Docker

docker --version # Aplicable tanto para Ubuntu como para RHEL


# Verificar versión de Docker Compose

docker compose version # Para configuraciones modernas de Docker
docker-compose --version # Para instalaciones anteriores

```

# Verificar versión de Python

python3 --version # Verificación preferida para Python 3

python --version # Alternativa si python3 no está disponible


# Verificar versión de Git

git --version # Válido tanto para Ubuntu como para RHEL


3.3 Verificación de Red y Conectividad​

Asegúrese de que la red esté configurada correctamente y de que haya conectividad de Internet adecuada para dependencias externas o actualizaciones:

# Verificar disponibilidad de conexión a Internet

ping -c 4 google.com # Ping a Google para verificar la conectividad de red
curl -Is https://www.google.com | head -n 1 # Verificación alternativa usando curl

3.4 Verificaciones Adicionales​

Servicios y puertos

ServicioRutaParámetroPuertos internosPuertos externos
Frontend/FRONTEND_SUFFIX3000—
Nginx/——80, 443
Backend/backendBACKEND_SUFFIX8001—
Automator/automatorAUTOMATOR_SUFFIX8002—
Redis——6379—
RabbitMQ——5672, 15672—
Supabase Kong API Gateway/supabaseSUPABASE_SUFFIX8000, 84438000, 8443 (solo admin)
Supabase Postgres——6543—
PostgreSQL (automator)——5433—
Redis (automator)——6380—
Ollama——11434— (solo si se despliega Ollama localmente)

Soporte de protocolos

ServicioHTTPHTTPSWebSocket
Frontend✓✓—
Nginx✓✓—
Backend✓✓—
Automator✓✓—
Redis✓✓—
RabbitMQ✓✓—
Supabase Kong API Gateway✓✓✓
Supabase Postgres✓✓—
PostgreSQL (automator)✓✓—
Redis (automator)✓✓—
Ollama✓✓—

Notas: Todas las máquinas internas deben poder comunicarse libremente entre sí. Recomendamos usar conexiones SSL (HTTPS); HTTP es compatible durante las PoC.

Configuraciones de Firewall y Seguridad:

Valide que las reglas del firewall o los grupos de seguridad permitan el tráfico requerido.

Arquitectura General​

general-arc.png

Diagrama de Arquitectura – On-Premise​

Flujo de arquitectura de despliegue para una máquina virtual individual con la asignación de recursos prerequisito mencionada

general-arc.png

Flujo de arquitectura de despliegue para despliegue en AWS Cloud​

AWS EKS Architecture for EKB