Esta guía está orientada al equipo técnico y tiene como objetivo facilitar la comprensión de los elementos clave de Kubernetes desde la perspectiva de la monitorización con Dynatrace. Entender qué significa lo que vemos en la plataforma nos permite detectar problemas, analizar el estado de las aplicaciones y actuar con rapidez y eficacia.
Entendiendo la arquitectura de Kubernetes desde la observabilidad
Kubernetes organiza sus recursos en distintos niveles jerárquicos. Comprender estos niveles es clave para interpretar correctamente la información que ofrece Dynatrace.
Cluster: Es el entorno completo donde se ejecutan las aplicaciones. Está formado por varios nodos, que son máquinas físicas o virtuales encargadas de ejecutar los pods.
Namespace: Es una agrupación lógica de recursos dentro del clúster. Sirve para separar aplicaciones, entornos (producción, desarrollo) o equipos. Por ejemplo, el namespace dynatrace
puede contener el agente de monitorización, mientras que el namespace prod
alberga la aplicación app-ejemplo
. Dynatrace permite filtrar eventos, métricas y problemas por namespace.
Workload: Representa el tipo de carga de trabajo desplegada, como por ejemplo un Deployment
(el más común), StatefulSet
para aplicaciones con estado o DaemonSet
para ejecutar un pod en cada nodo. Estas definiciones permiten saber qué contenedores se ejecutan, cuántas réplicas debe haber, y cómo gestionarlas. Dynatrace muestra su estado, rendimiento, y si los pods asociados están sanos o no.
Node: Es la máquina (física o virtual) que forma parte del clúster y donde corren los pods. Dynatrace permite supervisar el uso de CPU, memoria y disco, así como identificar si un nodo está saturado, lo que puede afectar al rendimiento de las aplicaciones que aloja.
Pod: Es la unidad más pequeña de ejecución en Kubernetes. Contiene uno o varios contenedores y es creado por los objetos de tipo Workload. Dynatrace muestra información detallada del uso de recursos por pod, sus reinicios, estado y posibles errores como fallos en los probes de readiness o liveness.
Service: Es el punto de acceso lógico a un conjunto de pods. Garantiza una conexión estable aunque los pods cambien. Dynatrace identifica automáticamente los servicios y expone métricas clave como latencia, tasa de errores y cantidad de peticiones.

Analizando la salud de la aplicación en Dynatrace
Para evaluar correctamente el estado de una aplicación desplegada en Kubernetes, debemos observar diferentes capas, cada una con sus métricas clave y posibles problemas comunes:
- Namespace: permite ver el número de pods activos y eventos relevantes. Problemas comunes pueden incluir saturación de recursos o errores globales.
- Workload: muestra si el despliegue ha sido exitoso y cuántos pods están disponibles. Los errores más habituales incluyen pods fallidos o escalado inadecuado.
- Pod: revela el uso de CPU y RAM, reinicios frecuentes o fallos de salud. Una alerta como
CrashLoopBackOff
puede indicar problemas de configuración o código. - Service: presenta los tiempos de respuesta, errores HTTP (como 5xx) y métricas de tráfico. Permite detectar latencias elevadas o fallos en los endpoints.
- Node: informa sobre la carga del sistema. Un nodo saturado puede degradar el rendimiento de múltiples pods.
Caso práctico: supervisión de la aplicación «app-ejemplo»
Supongamos que monitorizamos una aplicación desplegada en el namespace prod
, con un deployment llamado app-ejemplo
que tiene tres réplicas. Esta aplicación está expuesta a través de un Service interno de Kubernetes.
En Dynatrace, podemos observar lo siguiente:
- A través de Smartscape, visualizamos cómo
app-ejemplo
se relaciona con otros servicios y dependencias, tanto internas como externas. - En el nivel de Deployment, verificamos si los pods están en estado
Ready
, si se han reiniciado o si presentan picos anómalos de consumo de recursos. - En el nivel de Service, controlamos métricas de tráfico, errores y latencia. Por ejemplo, un aumento de errores 5xx podría indicar un fallo de backend.
- En el nodo, analizamos si hay saturación de CPU o RAM que esté afectando a los pods de la aplicación.
Buenas prácticas de observabilidad en Kubernetes con Dynatrace
Para obtener el máximo valor de Dynatrace al monitorizar aplicaciones en Kubernetes, se recomienda:
- Utilizar etiquetas automáticas (tags) para identificar servicios, entornos, equipos o aplicaciones.
- Configurar alertas basadas en indicadores clave, como fallos en readiness probes, latencia superior a umbrales establecidos o errores 5xx sostenidos.
- Crear dashboards por aplicación, namespace o equipo, para facilitar la observación dirigida.
- Integrar Dynatrace con herramientas de ITSM como ServiceNow para escalar automáticamente los problemas reales.
- Correlacionar trazas (PurePath), logs y métricas para una visión completa del estado y comportamiento de la aplicación.
Recursos recomendados
- Dynatrace: Smartscape, Dashboards, Notebooks, Problem Feed.
- Kubernetes CLI:
kubectl get pods -n prod
,kubectl describe pod
,kubectl top pod
. - OpenTelemetry: para trazabilidad personalizada y exportación de datos.
Conclusión
Comprender la estructura interna de Kubernetes es esencial para sacar partido a herramientas como Dynatrace. Saber qué significa un pod reiniciando, un nodo saturado o un servicio con errores nos permite intervenir antes de que el usuario final lo perciba. Esta guía pretende ofrecer una base sólida para interpretar correctamente lo que vemos en la consola de observabilidad y actuar con criterio y rapidez.