LiteLLM Kubernetes: Seguridad y Troubleshooting

2026.03.05
Technology
685 Words
LiteLLM Kubernetes: Seguridad y Troubleshooting

Parte 4 de 4. En la Parte 3 conectamos las herramientas. Esta parte final cubre producción, troubleshooting y pasos siguientes.

LiteLLM es un gateway de IA open-source que unifica las APIs de más de 100 proveedores tras un endpoint compatible con OpenAI. Revisa la Parte 1 para el contexto completo.

Consideraciones de Producción

Mi equipo actual es un homelab. Si lo llevas a producción, estas mejoras son obligatorias.

Usar Kubernetes Secrets

El Deployment de la Parte 2 ya referencia secrets mediante secretKeyRef. Audita tus ConfigMaps y logs por si hubiera credenciales filtradas.

env:
- name: KIMI_API_KEY
valueFrom:
secretKeyRef:
name: litellm-provider-keys
key: KIMI_API_KEY

Añadir Límites de Recursos

resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "2000m"

Habilitar TLS

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: litellm-ingress
namespace: litellm
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
tls:
- hosts:
- litellm.tudominio.com
secretName: litellm-tls
rules:
- host: litellm.tudominio.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: litellm-service
port:
number: 4000

Configurar Monitoring

Sin visibilidad, operas a ciegas. Monitoriza requests, errores y latencia para detectar problemas.

LiteLLM expone métricas de Prometheus en /metrics:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: litellm-metrics
namespace: litellm
spec:
selector:
matchLabels:
app: litellm
endpoints:
- port: "4000"
path: /metrics
interval: 30s

Implementar Rate Limiting

El rate limiting evita que un solo cliente agote tu cuota mediante el algoritmo simple-shuffle con callbacks de éxito-fallo.

general_settings:
master_key: "os.environ/LITELLM_MASTER_KEY"
router_settings:
routing_strategy: "simple-shuffle"
litellm_settings:
success_callback: ["prometheus"]
failure_callback: ["prometheus"]

Troubleshooting

ErrorCausaSolución
Connection refusedPod no listokubectl get pods -n litellm
Authentication ErrorAPI key incorrectaVerifica LITELLM_MASTER_KEY
Model not foundTypo en nombreRevisa proxy_config.yaml
Kimi: 401 UnauthorizedFaltan headersAñade User-Agent + X-Kimi-Client
OpenRouter: 400Falta HTTP-RefererAñade header con tu dominio
DB connection failedURL Postgres malaVerifica DATABASE_URL
Pod stuck PendingHostPath no existeCrea /k3s_storage/litellm

Modo Debug

Añade --detailed_debug a los args, luego kubectl logs -n litellm -l app=litellm --tail=100 -f.

Conclusión

LiteLLM en Kubernetes eliminó mi caos de API keys. ¿Cambia precios? Actualizas un archivo. ¿Nuevo modelo? Tres líneas. Se acabó buscar credenciales.

Próximos pasos: Añade fallback routing para resiliencia, spend tracking para costes, y caching para reducir latencia. Cada feature se configura en minutos.

Preguntas Frecuentes

¿Qué es LiteLLM?

Gateway de LLM open-source con API unificada compatible con OpenAI para 100+ proveedores.

¿Por qué desplegar en Kubernetes y no localmente?

Gestión centralizada, config persistente, acceso compartido y escalado sin pérdida de estado.

¿Puedo añadir más proveedores?

Sí, 100+ soportados. Añade una entrada a model_list en proxy_config.yaml.

¿Mis datos de API están seguros?

Keys en Kubernetes Secrets. En producción: TLS, network policies y aislamiento de namespace.

¿Cómo actualizo la config sin reiniciar?

Actualiza proxy_config.yaml y ejecuta kubectl rollout restart deployment/litellm-deployment -n litellm.

¿Proxy vs SDK?

Proxy es servidor standalone (esta serie). SDK es librería Python. Usa Proxy para múltiples clientes.

Fuentes y Referencias

También disponible en inglés, Also available in English.

# litellm # Kubernetes # IA # Llm # proxy # puerta-enlace-ia