Docs
Ctrl K
Volver al sitio Pedí una demo
DocsInstalaciónKubernetes

Kubernetes

.md

Cómo instalar Lymen en un cluster de Kubernetes con Helm, qué mide y qué límites tiene hoy.

En esta página
Para qué sirveCuándo usarloQué mide hoy (y qué no)RequisitosPaso a pasoValores del chartCómo se actualiza y se desinstalaProblemas comunes

Para qué sirve#

Si tus aplicaciones corren en Kubernetes, no se usa el instalador de una línea de los servidores: se instala un chart de Helm que pone un agente en cada nodo del cluster. El agente junta las métricas del nodo, los logs de los contenedores y recibe los datos de tus aplicaciones. También puede activar el monitoreo en detalle de aplicaciones con una anotación en el pod, sin tocar su código.

En Infraestructura aparece una pestaña Kubernetes con cada cluster: cantidad de nodos, pods en marcha y reinicios.

Cuándo usarlo#

Solo si tenés un cluster de Kubernetes. Si tus aplicaciones corren en servidores comunes, usá Linux o Windows.

Qué se probó. El chart se probó en un cluster de un solo nodo creado con kind, con una ingesta de prueba. No se probó en un cluster de producción ni en servicios gestionados (EKS, AKS, GKE). Hacé la primera instalación en un cluster de pruebas.

Qué mide hoy (y qué no)#

Sí No (todavía)
Métricas del nodo (CPU, memoria, disco, red) Métricas por pod o por contenedor
Logs de los contenedores Eventos del cluster (reinicios, desalojos)
Datos de las aplicaciones que mandan al agente de su nodo Reglas de Privacidad configurables desde el portal para el agente del nodo
Monitoreo en detalle por anotación (Java, Node.js, Python, .NET)

Los datos del pod (nombre, namespace, cluster) salen del nombre del archivo de log y de la instrumentación automática.

Requisitos#

  • Helm y acceso al cluster con kubectl.
  • Un token de tu cuenta de Lymen, guardado como Secret de Kubernetes con la clave token.
  • La dirección de ingesta de tu cuenta (https://<tu-cuenta>-ingesta.lymen.app).
  • Un namespace con política de seguridad privileged, porque el agente lee el disco del nodo (logs y métricas del host).

Paso a paso#

sh
kubectl create ns lymen
kubectl label ns lymen pod-security.kubernetes.io/enforce=privileged
kubectl -n lymen create secret generic lymen-token --from-literal=token=<tu-token>

helm dependency build chart/lymen
helm install lymen chart/lymen -n lymen --wait \
  --set ingesta.url=https://<tu-cuenta>-ingesta.lymen.app \
  --set ingesta.existingSecret=lymen-token \
  --set cluster.nombre=produccion

El chart lo entrega Lymen.

Para medir una aplicación en detalle, anotá su pod y reinicialo. Con <lenguaje> igual a java, nodejs, python o dotnet:

yaml
metadata:
  annotations:
    instrumentation.opentelemetry.io/inject-<lenguaje>: "lymen/lymen"

(La anotación es el estándar del operador que usa el chart: el valor es namespace/nombre.)

Valores del chart#

Valor Para qué sirve Por defecto Impacto de cambiarlo
ingesta.url Dirección de ingesta de tu cuenta. — (obligatorio) Si es incorrecta, no llega nada.
ingesta.existingSecret Secret ya existente con la clave token. — Seguridad. Es lo recomendado.
ingesta.token Token directo; el chart crea el Secret. — Seguridad. Queda guardado en el historial de Helm: preferí existingSecret.
cluster.nombre Nombre del cluster en el portal. — Es lo que ves en la pestaña Kubernetes y en los filtros.
cluster.entorno Entorno de los datos. produccion Etiqueta tus datos.
agente.resources Recursos por nodo. Pide 50m de CPU y 128Mi; tope 500m y 384Mi Bajar el tope puede cortar el agente en nodos con mucho log.
agente.limiteMemoriaMiB Límite blando de memoria del agente. 256 Tiene que ser menor que el tope del contenedor.
agente.tolerations En qué nodos corre. Todos Restringirlo deja nodos sin medir.
agente.recibirAplicaciones.servicioLocal Cada app entrega al agente de su propio nodo. Sí —
agente.recibirAplicaciones.hostPort Además abre el puerto en el nodo. No Pide una política de seguridad menos estricta.
agente.metricasNodo.enabled / .intervalo Métricas del nodo y cada cuánto. Sí / 30 s Un intervalo más corto guarda más datos (costo).
agente.logs.enabled Lee los logs de los contenedores. Sí Privacidad y costo. Apagarlo evita guardar logs; encenderlo puede traer datos personales a los logs de las apps.
agente.logs.excluirNamespaces Namespaces que no se leen. kube-system, kube-public, kube-node-lease Sacar uno de la lista suma ruido; sumar los que no te interesen reduce costo.
operador.enabled Instala el operador que instrumenta aplicaciones. Sí Apagado, la anotación no hace nada.
instrumentacion.muestreo Qué parte de las trazas de la instrumentación automática se guarda. "1" (todo) Menos trazas = menos costo, pero menos visibilidad.
gateway.administracion.enabled Enlace de administración con el portal. Sí Apagado, el portal no ve el estado de los agentes del cluster.

Cómo se actualiza y se desinstala#

Con helm upgrade lymen chart/lymen -n lymen … (los certificados del operador se conservan entre actualizaciones). Con helm uninstall lymen -n lymen. Algunos recursos del operador se van recién al quitar sus definiciones del cluster.

Problemas comunes#

Síntoma Qué hacer
Los pods del agente no arrancan Revisá que el namespace tenga la política privileged.
No veo métricas por pod Hoy no existen. Solo hay métricas del nodo.
Instalé y no llega nada Revisá ingesta.url, que el Secret tenga la clave token y que los nodos lleguen a esa dirección.
La anotación no instrumenta Reiniciá el pod después de anotarlo y confirmá que el operador esté instalado.