# Rangos de límites (Limit Ranges)

> Aplica límites de recursos a un Namespace para restringir y garantizar la asignación y consumo de recursos informáticos.

---

LLMS index: [llms.txt](/llms.txt)

---

<!-- overview -->

### Contexto

Por defecto, los contenedores se ejecutan sin restricciones sobre los [recursos informáticos disponibles en un clúster de Kubernetes](/docs/concepts/configuration/manage-resources-containers/).
Si el <a class='glossary-tooltip' title='Un Node, nodo en castellano, es una de las máquinas del clúster de Kubernetes.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/architecture/nodes/' target='_blank' aria-label='Nodo'>Nodo</a> dispone de los recursos informáticos, un <a class='glossary-tooltip' title='El objeto más pequeño y simple de Kubernetes. Un Pod es la unidad mínima de computación en Kubernetes y representa uno o más contenedores ejecutándose en el clúster.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/workloads/pods/pod-overview/' target='_blank' aria-label='Pod'>Pod</a> o sus <a class='glossary-tooltip' title='Una imagen ligera y portátil que contiene un software y todas sus dependencias.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/what-is-kubernetes/#why-containers' target='_blank' aria-label='Contenedores'>Contenedores</a> tienen permitido consumir por encima de la cuota solicitada si no superan el límite establecido en su especificación.
Existe la preocupación de que un Pod o Contenedor pueda monopolizar todos los recursos disponibles.

### Utilidad

Aplicando restricciones de asignación de recursos, los administradores de clústeres se aseguran del cumplimiento del consumo de recursos por espacio de nombre (<a class='glossary-tooltip' title='Abstracción utilizada por Kubernetes para soportar múltiples clústeres virtuales en el mismo clúster físico.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/working-with-objects/namespaces/' target='_blank' aria-label='Namespace'>Namespace</a>).

Un **<a class='glossary-tooltip' title='Proporciona restricciones para limitar el consumo de recursos por Contenedores o Pods en un espacio de nombres' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/policy/limit-range/' target='_blank' aria-label='LimitRange'>LimitRange</a>** es la política que permite:

- Imponer restricciones de requisitos de recursos a <a class='glossary-tooltip' title='El objeto más pequeño y simple de Kubernetes. Un Pod es la unidad mínima de computación en Kubernetes y representa uno o más contenedores ejecutándose en el clúster.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/workloads/pods/pod-overview/' target='_blank' aria-label='Pods'>Pods</a> o <a class='glossary-tooltip' title='Una imagen ligera y portátil que contiene un software y todas sus dependencias.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/what-is-kubernetes/#why-containers' target='_blank' aria-label='Contenedores'>Contenedores</a> por Namespace.
- Imponer las limitaciones de recursos mínimas/máximas para Pods o Contenedores dentro de un Namespace.
- Especificar requisitos y límites de recursos predeterminados para Pods o Contenedores de un Namespace.
- Imponer una relación de proporción entre los requisitos y el límite de un recurso.
- Imponer el cumplimiento de las demandas de almacenamiento mínimo/máximo para <a class='glossary-tooltip' title='Reserva el recurso de almacenamiento definido en un PersistentVolume para poderlo montar como un volúmen en un contenedor.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims' target='_blank' aria-label='Solicitudes de Volúmenes Persistentes'>Solicitudes de Volúmenes Persistentes</a>.

### Habilitar el LimitRange

La compatibilidad con LimitRange está habilitada por defecto en Kubernetes desde la versión 1.10.

Para que un LimitRange se active en un <a class='glossary-tooltip' title='Abstracción utilizada por Kubernetes para soportar múltiples clústeres virtuales en el mismo clúster físico.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/working-with-objects/namespaces/' target='_blank' aria-label='Namespace'>Namespace</a> en particular, el LimitRange debe definirse con el Namespace, o aplicarse a éste.

El nombre de recurso de un objeto LimitRange debe ser un
[nombre de subdominio DNS](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names) válido.

### Aplicando LimitRanges

- El administrador crea un LimitRange en un <a class='glossary-tooltip' title='Abstracción utilizada por Kubernetes para soportar múltiples clústeres virtuales en el mismo clúster físico.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/working-with-objects/namespaces/' target='_blank' aria-label='Namespace'>Namespace</a>.
- Los usuarios crean recursos como <a class='glossary-tooltip' title='El objeto más pequeño y simple de Kubernetes. Un Pod es la unidad mínima de computación en Kubernetes y representa uno o más contenedores ejecutándose en el clúster.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/workloads/pods/pod-overview/' target='_blank' aria-label='Pods'>Pods</a>, <a class='glossary-tooltip' title='Una imagen ligera y portátil que contiene un software y todas sus dependencias.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/what-is-kubernetes/#why-containers' target='_blank' aria-label='Contenedores'>Contenedores</a> o <a class='glossary-tooltip' title='Reserva el recurso de almacenamiento definido en un PersistentVolume para poderlo montar como un volúmen en un contenedor.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims' target='_blank' aria-label='Solicitudes de Volúmenes Persistentes'>Solicitudes de Volúmenes Persistentes</a> en el Namespace.
- El controlador de admisión `LimitRanger` aplicará valores predeterminados y límites, para todos los Pods o Contenedores que no establezcan requisitos de recursos informáticos. Y realizará un seguimiento del uso para garantizar que no excedan el mínimo, el máximo, y la proporción de ningún LimitRange definido en el Namespace.
- Si al crear o actualizar un recurso del ejemplo (Pods, Contenedores, <a class='glossary-tooltip' title='Reserva el recurso de almacenamiento definido en un PersistentVolume para poderlo montar como un volúmen en un contenedor.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims' target='_blank' aria-label='Solicitudes de Volúmenes Persistentes'>Solicitudes de Volúmenes Persistentes</a>) se viola una restricción al LimitRange, la solicitud al servidor API fallará con un código de estado HTTP "403 FORBIDDEN" y un mensaje que explica la restricción que se ha violado.
- En caso de que en se active un LimitRange para recursos de cómputos como `cpu` y `memory`, los usuarios deberán especificar los requisitos y/o límites de recursos a dichos valores. De lo contrario, el sistema puede rechazar la creación del Pod.
- Las validaciones de LimitRange ocurren solo en la etapa de Admisión de Pod, no en Pods que ya se han iniciado (Running <a class='glossary-tooltip' title='El objeto más pequeño y simple de Kubernetes. Un Pod es la unidad mínima de computación en Kubernetes y representa uno o más contenedores ejecutándose en el clúster.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/workloads/pods/pod-overview/' target='_blank' aria-label='Pods'>Pods</a>).

Algunos ejemplos de políticas que se pueden crear utilizando rangos de límites son:

- En un clúster de 2 nodos con una capacidad de 8 GiB de RAM y 16 núcleos, podría restringirse los <a class='glossary-tooltip' title='El objeto más pequeño y simple de Kubernetes. Un Pod es la unidad mínima de computación en Kubernetes y representa uno o más contenedores ejecutándose en el clúster.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/workloads/pods/pod-overview/' target='_blank' aria-label='Pods'>Pods</a> en un <a class='glossary-tooltip' title='Abstracción utilizada por Kubernetes para soportar múltiples clústeres virtuales en el mismo clúster físico.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/working-with-objects/namespaces/' target='_blank' aria-label='Namespace'>Namespace</a> a requerir `100m` de CPU con un límite máximo de `500m` para CPU y requerir `200Mi` de memoria con un límite máximo de `600Mi` de memoria.
- Definir el valor por defecto de límite y requisitos de CPU a `150m` y el valor por defecto de requisito de memoria a `300Mi` <a class='glossary-tooltip' title='Una imagen ligera y portátil que contiene un software y todas sus dependencias.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/what-is-kubernetes/#why-containers' target='_blank' aria-label='Contenedores'>Contenedores</a> que se iniciaron sin requisitos de CPU y memoria en sus especificaciones.

En el caso de que los límites totales del <a class='glossary-tooltip' title='Abstracción utilizada por Kubernetes para soportar múltiples clústeres virtuales en el mismo clúster físico.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/overview/working-with-objects/namespaces/' target='_blank' aria-label='Namespace'>Namespace</a> sean menores que la suma de los límites de los <a class='glossary-tooltip' title='El objeto más pequeño y simple de Kubernetes. Un Pod es la unidad mínima de computación en Kubernetes y representa uno o más contenedores ejecutándose en el clúster.' data-bs-toggle='tooltip' data-bs-placement='top' href='/es/docs/concepts/workloads/pods/pod-overview/' target='_blank' aria-label='Pods'>Pods</a>,
puede haber contienda por los recursos. En este caso, los contenedores o pods no seran creados.

Ni la contención ni los cambios en un LimitRange afectarán a los recursos ya creados.

## ¿Qué sigue?

Consulte el [documento de diseño del LimitRanger](https://git.k8s.io/design-proposals-archive/resource-management/admission_control_limit_range.md) para más información.

Los siguientes ejemplos utilizan límites y están pendientes de su traducción:

- [how to configure minimum and maximum CPU constraints per namespace](/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/).
- [how to configure minimum and maximum Memory constraints per namespace](/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/).
- [how to configure default CPU Requests and Limits per namespace](/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/).
- [how to configure default Memory Requests and Limits per namespace](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/).
- [how to configure minimum and maximum Storage consumption per namespace](/docs/tasks/administer-cluster/limit-storage-consumption/#limitrange-to-limit-requests-for-storage).
- [a detailed example on configuring quota per namespace](/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/).
