Si administras Kubernetes, entender la salud y el rendimiento de tus clusters es clave. Por suerte, Google Kubernetes Engine (GKE) trae capacidades integradas para recopilar métricas valiosas desde cAdvisor y Kubelet, lo que te da visibilidad sobre tus workloads en contenedores. En este post vemos cómo aprovechar estas métricas en GKE para entender mejor lo que ocurre dentro de tu cluster.
PerfectScale™ for Kubernetes
Ready to optimize?
Get your free Kubernetes savings analysis

¿Qué son las métricas de cAdvisor y Kubelet?
cAdvisor y Kubelet son componentes esenciales del ecosistema de Kubernetes. cAdvisor monitorea de forma continua el uso de recursos dentro de los contenedores: CPU, memoria y red. Kubelet, por su parte, gestiona el ciclo de vida de los contenedores dentro de un pod. Combinadas, las métricas de ambos componentes ofrecen una visión completa del consumo de recursos y el estado de los contenedores en tu cluster.
¿Por qué monitorear las métricas de cAdvisor/Kubelet con GKE?
Habilitar la recopilación de métricas de cAdvisor/Kubelet en GKE te da varias ventajas:
- Mayor visibilidad del cluster: obtienes una visión más detallada del uso de recursos en tus pods, lo que permite asignarlos y optimizarlos mejor.
- Mejor troubleshooting: identificas cuellos de botella o anomalías en tus workloads en contenedores y resuelves los problemas más rápido.
- Planificación proactiva de capacidad: analizas patrones históricos y actuales de uso para anticiparte a las necesidades futuras de escalado.
¿Es un servicio gestionado en GKE?
Hoy en día, ¡sí! A partir de la versión GKE 1.29.3-gke.1093000, ya puedes recolectar métricas de kubelet y cAdvisor de forma gestionada; basta con habilitarlo en un cluster que corra esa versión o una posterior.
Your cloud bill shouldn't be a mystery
Optimization, automation, expertise. In one platform.
¿Y qué pasa con versiones anteriores de Kubernetes?
Si todavía no estás en la versión GKE 1.29.3-gke.1093000, igual puedes recolectar esta métrica, pero tendrás que configurarlo manualmente.
Deberás habilitar el scraping en el objeto OperatorConfig incluyendo los campos collection.kubeletScraping.interval:
kubectl -n gmp-public edit operatorconfig config
apiVersion: monitoring.googleapis.com/v1
kind: OperatorConfig
metadata:
namespace: gmp-public
name: config
collection:
kubeletScraping:
interval: 30s
apiVersion: monitoring.googleapis.com/v1
kind: OperatorConfig
metadata:
namespace: gmp-public
name: config
collection:
kubeletScraping:
interval: 30s
Más detalles aquí.
Advertencia: Si ya estás enviando métricas de cAdvisor/Kubelet a Google Cloud Managed Service for Prometheus, debes detener esa ingesta antes de habilitar las métricas gestionadas de cAdvisor/Kubelet; de lo contrario, podrías terminar con métricas duplicadas o incorrectas.
Cómo activar las métricas gestionadas de cAdvisor/Kubelet en GKE
Esto es lo que necesitas saber:
- Compatibilidad: esta funcionalidad está disponible para clusters de GKE que ejecutan la versión 1.29.3-gke.109300 o posterior.
- Cómo habilitar la recopilación de métricas: puedes activar la recopilación de métricas de cAdvisor/Kubelet desde la consola de Google Cloud, la CLI de gcloud o Terraform. El proceso consiste en activar la API de Google Kubernetes Engine y seleccionar los componentes de cAdvisor/Kubelet que quieras monitorear. También puedes editar tu configuración de Cloud Monitoring e incluir las métricas de cAdvisor y kubelet.

GKE Edit Cloud Monitoring
- Visualización de métricas: una vez habilitadas, las métricas se recopilan a través de Google Cloud Managed Service for Prometheus y se pueden consultar con PromQL o MQL. Verás varios targets en el Metrics Explorer de Google Cloud.

Google Cloud Metrics Explorer
Una métrica especialmente útil es container_cpu_usage_seconds_total, que permite revisar el uso de CPU del contenedor para definir los requests y límites de CPU de manera adecuada sin recurrir a VPA como recomendador. Por ejemplo:

GCP Metrics explorer: container_cpu_usage_seconds_total
Aprovechar las métricas de cAdvisor/Kubelet en GKE te da una visión mucho más clara del uso de recursos de tu cluster. Con esos datos puedes optimizar el rendimiento, detectar problemas a tiempo y asegurar que tus aplicaciones en contenedores funcionen de forma eficiente. Y con las métricas gestionadas de cAdvisor y Kubelet en GKE, todo resulta mucho más sencillo.
Recursos:
https://cloud.google.com/stackdriver/docs/managed-prometheus/exporters/kubelet-cadvisor
https://github.com/google/cadvisor
https://cloud.google.com/kubernetes-engine/docs/release-notes-new-features#June_07_2024
https://cloud.google.com/stackdriver/docs/managed-prometheus
Si aún no conoces a DoiT International, te invitamos a descubrirnos. Nuestro equipo está listo para conocerte y entender tus necesidades de cloud engineering. Contamos exclusivamente con talento senior de Engineering y nos especializamos en consultoría avanzada de cloud, diseño de arquitecturas y asesoría de debugging. ¡Escríbenos y conversemos!