Terminal con manifiestos de Kubernetes y métricas de uso de recursos en pantalla

Cuaderno de producción

Kubernetes en producción: límites de recursos que sí evitan caídas

Cómo ajustar requests y limits sin ahogar los pods

Los límites de recursos en Kubernetes parecen simples hasta que un pod empieza a reiniciarse sin motivo aparente. En este repaso se comparan requests y limits mal calibrados con configuraciones que sostienen cargas variables, se muestran fragmentos de manifiestos y se explica cómo leer los eventos del scheduler y del kubelet para distinguir falta de memoria de throttling de CPU.

También se comentan los errores más comunes al copiar valores de un entorno de pruebas a producción y qué métricas conviene vigilar antes de tocar los números. El punto de partida suele ser el mismo: un nodo que empieza a mostrar latencia alta, pods que reinician en cadena y un panel de observabilidad donde el pico aparece justo cuando nadie estaba desplegando.

Antes de intervenir conviene mirar el estado de los nodos, los eventos del scheduler y la presión de recursos que reporta el kubelet. Distinguir un OOMKill de un throttling de CPU cambia por completo la decisión: en un caso el limit de memoria está por debajo de lo que el proceso realmente necesita, en el otro el contenedor está recibiendo menos ciclos de los que cree tener.

Un manifiesto con requests y limits razonables no se copia de un entorno a otro sin revisar. Las cargas en producción tienen ráfagas que las pruebas no reproducen, y los valores que funcionaban en un clúster pequeño dejan de servir cuando el tráfico se reparte distinto. La recomendación práctica es ajustar de a un recurso por vez, dejar correr la carga real y volver a leer las métricas antes del siguiente cambio.

Kubernetes en producción: límites de recursos que sí evitan caídas

Los límites de recursos en Kubernetes no son una fórmula que se copia de un tutorial. Lo que sigue son aclaraciones que aplicamos cada vez que revisamos un clúster con pods reiniciándose sin causa evidente: qué medimos, qué no prometemos y en qué momento conviene parar y mirar los eventos antes de editar un manifiesto.

Nada de lo que aparece en esta entrada sale de un banco de pruebas ideal. Son observaciones de clústeres con carga variable, nodos que se degradan y equipos que heredan configuraciones escritas por otra persona hace dos años.

Kubernetes en producción: límites de recursos que sí evitan caídas

Buckingham Cloud no es una publicación con firma corporativa. Es una bitácora técnica independiente, sin patrocinio, sostenida por ingenieros que documentan lo que efectivamente corre en producción. Cuando una entrada habla de límites de recursos en Kubernetes, no sale de un manual: sale de haber visto pods reiniciarse a las tres de la mañana por un limit de memoria heredado de un entorno de pruebas.

La entrada que estás leyendo, sobre límites de CPU y memoria que sí evitan caídas, sigue ese criterio. Cada fragmento de manifiesto que aparece en el texto fue probado antes de publicarse. Las capturas de paneles muestran métricas reales de clústeres en operación, y las comparativas de herramientas se hacen sin acuerdos comerciales de por medio. Si algo no funciona en producción, no se publica como si funcionara.

El equipo detrás de la bitácora trabaja en plataforma, SRE y desarrollo backend. No hay nombres ni biografías individuales en esta página porque la bitácora se presenta como lo que es: un cuaderno de trabajo compartido, revisado entre pares antes de salir. Lo que sí podés verificar es el método: fragmentos de configuración, eventos del scheduler y del kubelet, y métricas que se pueden reproducir en tu propio clúster.

Origen del material

Casos vistos en clústeres activos

Los ejemplos de requests y limits mal calibrados provienen de incidentes reales: pods que reinician por OOMKilled, throttling de CPU que no aparece en los logs de la aplicación y valores copiados de staging sin revisar la carga de producción.

Método de revisión

Antes de publicar, se reproduce

Cada manifiesto que aparece en una entrada se aplica en un clúster de prueba antes de citarse. Si el fragmento no explica el problema que dice explicar, se reescribe o se descarta. No se publican configuraciones que solo funcionan en papel.

Independencia editorial

Sin patrocinio ni acuerdos

Las comparativas de herramientas de monitoreo para clústeres se hacen con las versiones que el equipo usa a diario. No hay marcas pagando por aparecer mejor posicionadas, y cuando una herramienta tiene una limitación concreta, se dice.

Para quién escribimos

Equipos de plataforma, SRE y backend

El tono asume que ya sabés qué es un pod y qué es un nodo. Lo que aportamos son los detalles que no están en la documentación oficial: cómo leer un evento del kubelet, qué métrica mirar antes de tocar un limit, y qué errores se repiten al migrar servicios legados.

Terminal con manifiestos de Kubernetes y métricas de uso de recursos en pantalla

Kubernetes en producción: límites de recursos que sí evitan caídas

Cuando un pod se reinicia sin motivo evidente, casi nunca es el código. En este repaso se ven requests y limits mal calibrados, eventos del kubelet y las señales que conviene mirar antes de tocar los números.

Terminal con manifiestos de Kubernetes y métricas de uso de recursos en pantalla Panel de latencia

El pico que aparece justo antes del reinicio

Terminal con manifiestos de Kubernetes y métricas de uso de recursos en pantalla Eventos del kubelet

OOMKilled no siempre significa lo que parece

Terminal con manifiestos de Kubernetes y métricas de uso de recursos en pantalla Manifiesto de ejemplo

Un fragmento con requests y limits separados

Terminal con manifiestos de Kubernetes y métricas de uso de recursos en pantalla Diagrama de nodos

Cómo se reparte la carga cuando un nodo se degrada

Terminal con manifiestos de Kubernetes y métricas de uso de recursos en pantalla Uso por contenedor

Throttling de CPU: el otro sospechoso silencioso

Autoría Bitácora técnica

Kubernetes en producción: límites de recursos que sí evitan caídas

Bitácora técnica independiente, sin patrocinio

Esta entrada sobre límites de recursos en Kubernetes la firma el equipo editorial de Buckingham Cloud, el mismo grupo de ingenieros que documenta lo que ve funcionar en producción. No hay perfiles individuales ni credenciales infladas: lo que se publica acá sale de manifiestos, eventos del kubelet y paneles de observabilidad que se revisan antes de escribir. Si algo del texto no se sostiene con esa evidencia, se corrige o se marca como escenario de ejemplo.

Cada entrada de la bitácora incluye fragmentos de configuración, capturas de paneles y comparativas de herramientas sin patrocinio. Las etiquetas como redes, almacenamiento o CI/CD sirven para ubicar material relacionado cuando el tema se cruza con otro.

Escribir al equipo editorial o volver al índice del blog.

Configuracion de cookies

Usamos cookies para mantener el sitio estable, recordar opciones basicas y entender que paginas resultan utiles. Puedes aceptar, rechazar o revisar la configuracion antes de continuar.