Cuotas de recursos y rangos de límites
Evite los problemas de vecinos ruidosos y las cargas de trabajo descontroladas aplicando ResourceQuotas a nivel de namespace y LimitRanges por Pod.
Cuotas de recursos y rangos de límites es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Protecciones para clústeres compartidos
En un clúster compartido, un equipo puede consumirlo todo accidentalmente. ResourceQuotas y LimitRanges son controles que mantienen la equidad entre los espacios de nombres y evitan interrupciones.
¿Qué es una ResourceQuota?
Una ResourceQuota limita los recursos totales que puede consumir un espacio de nombres: CPU, memoria y cantidades de objetos como Pods o Services.
Una cuota de cómputo
Esta cuota limita el total de requests y limits de todos los Pods del espacio de nombres.
apiVersion: v1
kind: ResourceQuota
metadata:
name: team-compute
namespace: team-a
spec:
hard:
requests.cpu: '4'
requests.memory: 8Gi
limits.cpu: '8'
limits.memory: 16GiCuotas de cantidad de objetos
Las cuotas también pueden limitar cuántos objetos de cada tipo pueden existir, lo que evita una proliferación accidental.
spec:
hard:
pods: '20'
services: '5'
persistentvolumeclaims: '10'La regla de aplicación de cuotas
Cuando se establece un ResourceQuota para cómputo, cada Pod debe declarar requests y limits; de lo contrario, se rechaza. La cuota no puede contabilizar Pods sin límites definidos.
Comprobar el uso de las cuotas
Inspeccione cuánto se consume de una cuota en cualquier momento.
kubectl describe resourcequota team-compute -n team-a
# Resource Used Hard
# requests.cpu 2 4
# requests.memory 3Gi 8Gi¿Qué es un LimitRange?
Un LimitRange aplica valores predeterminados y límites por objeto dentro de un namespace, de modo que los Pods individuales quedan restringidos incluso si un desarrollador olvida establecer los valores.
Valores predeterminados y límites
Un LimitRange puede inyectar requests/limits predeterminados y aplicar valores mínimos y máximos por contenedor.
apiVersion: v1
kind: LimitRange
metadata:
name: container-limits
namespace: team-a
spec:
limits:
- type: Container
default:
cpu: 500m
memory: 256Mi
defaultRequest:
cpu: 250m
memory: 128Mi
max:
cpu: '2'
memory: 1GiCómo funcionan conjuntamente
LimitRange completa los valores predeterminados de cada contenedor; después, ResourceQuota suma todo y lo compara con el límite del namespace. Juntos garantizan tanto un dimensionamiento adecuado por Pod como un total equitativo para el namespace.
Solucionar rechazos
Si se rechaza un Pod, el error indica la política que lo ocasionó. Léalo con atención: le indica si superó la cuota o infringió un límite de LimitRange.
# exceeded quota: team-compute, requested: requests.cpu=2, used: 3, limited: 4
# maximum cpu usage per Container is 2, but limit is 4Consejos para producción
- Establezca un LimitRange para que los requests olvidados no infrinjan la cuota
- Dimensione las cuotas a partir del uso real, dejando margen para los picos
- Revise el uso con regularidad y ajústelo a medida que crezcan los equipos
Comprobación rápida
Compruebe su comprensión de las protecciones del namespace.
Resumen
Aprendió a garantizar la distribución equitativa mediante ResourceQuotas (límites de cómputo y cantidad de objetos para todo el namespace) y LimitRanges (valores predeterminados y límites por contenedor). Usados conjuntamente, evitan los problemas de vecinos ruidosos y mantienen estables los clústeres compartidos, una práctica esencial para producción.
Aprende DevOps Bootcamp con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 142
- Lecciones
- 568
Preguntas frecuentes
¿La lección «Cuotas de recursos y rangos de límites» es gratis?
Sí — el texto completo de «Cuotas de recursos y rangos de límites» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Cuotas de recursos y rangos de límites»?
Evite los problemas de vecinos ruidosos y las cargas de trabajo descontroladas aplicando ResourceQuotas a nivel de namespace y LimitRanges por Pod. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Cuotas de recursos y rangos de límites»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Diagnóstico de problemas habituales
- Depuración de Pods y Services
- Prácticas recomendadas y consejos para producción
- Cuotas de recursos y rangos de límites