Limitar el consumo de los recursos

Limitar la Ram y la CPU de un pod

Para limitar la ram de un pod usaremos en el manifiesto del pod las opciones request y limits.

La opción request es para definir la cantidad de memoria que asignamos al pod y la opción limits define el máximo de memoria que podría llegar a usar ese pod.

Para limitar la cantidad de CPU a utilizar

LimitRange

Un LimitRange permite poner limitaciones :

Limitar la cantidad mínima y máxima de recursos que puede usar un pod o un contenedor en un namespace

Definir los valores por defecto de request y limits para un recurso en el namespace

Veamos un ejemplo para definir los limits y los request Ejemplo para definir unos valores mínimos y máximos

para ver los límites

Limitrange sólo se aplica en el namespace en el que este definido por lo que es muy importante que los pods se definan también dentro del namespace donde lo hemos declarado

ResourceQuota

Limita el consumo de recursos por namespace

En un RequestQuota es obligatorio definir los requests y los limits

Tambien es posible limitar el número de pods de un namespace

Referencias

https://github.com/ricardoandre97/k8s-resources/blob/master/limits-requests/limit-ram.yaml

https://github.com/ricardoandre97/k8s-resources/blob/master/limitRange/

https://v1-17.docs.kubernetes.io/docs/concepts/policy/limit-range/