|
| 1 | +--- |
| 2 | +reviewers: |
| 3 | +- raelga |
| 4 | +title: Rangos de límites (Limit Ranges) |
| 5 | +description: > |
| 6 | + Aplica límites de recursos a un Namespace para restringir y garantizar la asignación y consumo de recursos informáticos. |
| 7 | +content_type: concept |
| 8 | +weight: 10 |
| 9 | +--- |
| 10 | + |
| 11 | +<!-- overview --> |
| 12 | + |
| 13 | +### Contexto |
| 14 | + |
| 15 | +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/). |
| 16 | +Si el {{< glossary_tooltip text="Nodo" term_id="node" >}} dispone de los recursos informáticos, un {{< glossary_tooltip text="Pod" term_id="pod" >}} o sus {{< glossary_tooltip text="Contenedores" term_id="container" >}} tienen permitido consumir por encima de la cuota solicitada si no superan el límite establecido en su especificación. |
| 17 | +Existe la preocupación de que un Pod o Contenedor pueda monopolizar todos los recursos disponibles. |
| 18 | + |
| 19 | +### Utilidad |
| 20 | + |
| 21 | +Aplicando restricciones de asignación de recursos, los administradores de clústeres se aseguran del cumplimiento del consumo de recursos por espacio de nombre ({{< glossary_tooltip text="Namespace" term_id="namespace" >}}). |
| 22 | + |
| 23 | +Un **{{< glossary_tooltip text="LimitRange" term_id="limitrange" >}}** es la política que permite: |
| 24 | + |
| 25 | +- Imponer restricciones de requisitos de recursos a {{< glossary_tooltip text="Pods" term_id="pod" >}} o {{< glossary_tooltip text="Contenedores" term_id="container" >}} por Namespace. |
| 26 | +- Imponer las limitaciones de recursos mínimas/máximas para Pods o Contenedores dentro de un Namespace. |
| 27 | +- Especificar requisitos y límites de recursos predeterminados para Pods o Contenedores de un Namespace. |
| 28 | +- Imponer una relación de proporción entre los requisitos y el límite de un recurso. |
| 29 | +- Imponer el cumplimiento de las demandas de almacenamiento mínimo/máximo para {{< glossary_tooltip text="Solicitudes de Volúmenes Persistentes" term_id="persistent-volume-claim" >}}. |
| 30 | + |
| 31 | +### Habilitar el LimitRange |
| 32 | + |
| 33 | +La compatibilidad con LimitRange está habilitada por defecto en Kubernetes desde la versión 1.10. |
| 34 | + |
| 35 | +Para que un LimitRange se active en un {{< glossary_tooltip text="Namespace" term_id="namespace" >}} en particular, el LimitRange debe definirse con el Namespace, o aplicarse a éste. |
| 36 | + |
| 37 | +El nombre de recurso de un objeto LimitRange debe ser un |
| 38 | +[nombre de subdominio DNS](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names) válido. |
| 39 | + |
| 40 | +### Aplicando LimitRanges |
| 41 | + |
| 42 | +- El administrador crea un LimitRange en un {{< glossary_tooltip text="Namespace" term_id="namespace" >}}. |
| 43 | +- Los usuarios crean recursos como {{< glossary_tooltip text="Pods" term_id="pod" >}}, {{< glossary_tooltip text="Contenedores" term_id="container" >}} o {{< glossary_tooltip text="Solicitudes de Volúmenes Persistentes" term_id="persistent-volume-claim" >}} en el Namespace. |
| 44 | +- 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. |
| 45 | +- Si al crear o actualizar un recurso del ejemplo (Pods, Contenedores, {{< glossary_tooltip text="Solicitudes de Volúmenes Persistentes" term_id="persistent-volume-claim" >}}) 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. |
| 46 | +- 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. |
| 47 | +- Las validaciones de LimitRange ocurren solo en la etapa de Admisión de Pod, no en Pods que ya se han iniciado (Running {{< glossary_tooltip text="Pods" term_id="pod" >}}). |
| 48 | + |
| 49 | +Algunos ejemplos de políticas que se pueden crear utilizando rangos de límites son: |
| 50 | + |
| 51 | +- En un clúster de 2 nodos con una capacidad de 8 GiB de RAM y 16 núcleos, podría restringirse los {{< glossary_tooltip text="Pods" term_id="pod" >}} en un {{< glossary_tooltip text="Namespace" term_id="namespace" >}} 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. |
| 52 | +- 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` {{< glossary_tooltip text="Contenedores" term_id="container" >}} que se iniciaron sin requisitos de CPU y memoria en sus especificaciones. |
| 53 | + |
| 54 | +En el caso de que los límites totales del {{< glossary_tooltip text="Namespace" term_id="namespace" >}} sean menores que la suma de los límites de los {{< glossary_tooltip text="Pods" term_id="pod" >}}, |
| 55 | +puede haber contienda por los recursos. En este caso, los contenedores o pods no seran creados. |
| 56 | + |
| 57 | +Ni la contención ni los cambios en un LimitRange afectarán a los recursos ya creados. |
| 58 | + |
| 59 | +## {{% heading "whatsnext" %}} |
| 60 | + |
| 61 | +Consulte el [documento de diseño del LimitRanger](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md) para más información. |
| 62 | + |
| 63 | +Los siguientes ejemplos utilizan límites y están pendientes de su traducción: |
| 64 | + |
| 65 | +- [how to configure minimum and maximum CPU constraints per namespace](/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/). |
| 66 | +- [how to configure minimum and maximum Memory constraints per namespace](/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/). |
| 67 | +- [how to configure default CPU Requests and Limits per namespace](/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/). |
| 68 | +- [how to configure default Memory Requests and Limits per namespace](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/). |
| 69 | +- [how to configure minimum and maximum Storage consumption per namespace](/docs/tasks/administer-cluster/limit-storage-consumption/#limitrange-to-limit-requests-for-storage). |
| 70 | +- [a detailed example on configuring quota per namespace](/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/). |
0 commit comments