DESARROLLADOR

Cómo limitar el rango de CPU en los pods de Kubernetes

Jack Wallen le mostrará cómo limitar los límites superior e inferior si un contenedor consume demasiada CPU en su clúster de Kubernetes.

kuberneteshero
Imagen: Jack Warren

Cuando crea pods y contenedores de Kubernetes, tienen acceso ilimitado a los recursos de su clúster de forma predeterminada. Esto puede ser bueno o malo. Esto es bueno porque sabe que sus contenedores siempre tendrán todos los recursos que necesitan. Esto es malo porque su contenedor puede consumir todos los recursos en el clúster.

Probablemente no quiera esto, especialmente si tiene muchos pods que contienen contenedores críticos para mantener su negocio en funcionamiento.

A qué te dedicas

Puede limitar el rango de CPU en un pod.

En realidad, esta es una tarea muy simple porque la define en el espacio de nombres. Lo guiaré a través del proceso de definición de límites de CPU en el espacio de nombres predeterminado. A partir de ahí, puede comenzar a usar esta opción en todos los espacios de nombres.

Mirar: Herramienta de contratación: Administrador de base de datos (República Tecnológica Premium)

que necesitas

Para que esto funcione, lo único que necesita es un clúster de Kubernetes en ejecución. Lo demostraré con un solo controlador y tres nodos, pero usted hará todo el trabajo en el controlador.

Cómo limitar el rango de la CPU

Crearemos un nuevo archivo YAML para limitar el alcance de los contenedores en el espacio de nombres predeterminado. Abra una ventana de terminal y emita el comando:

nano limit-range.yml

Las opciones importantes para este archivo YAML son kind y cpu. Por tipo, usaremos LimitRange, una estrategia para limitar la asignación de recursos (para pods o contenedores) dentro de un espacio de nombres. La opción cpu define nuestro límite. También puede limitar la cantidad de memoria disponible con la opción de memoria, pero por ahora nos quedaremos con la CPU.

Nuestro archivo YAML se verá así:

apiVersion: v1
kind: LimitRange
metadata:
name: limit-range
spec:
limits:
- max:
cpu: "1"
min:
cpu: "200m"
type: Container

Con CPU, puede limitarlos de dos maneras, con milliCPU o solo con CPU. Lo que estamos haciendo es limitar la CPU a un máximo de 1 CPU y un mínimo de 200 miliCPU (om). Después de escribir el archivo, guárdelo y ciérrelo.

Antes de aplicar el archivo YAML, verifique que el límite de alcance se haya establecido con el siguiente comando:

kubectl get limitrange

El comando anterior no debería reportar nada.

Ahora, ejecute el comando para crear el rango restringido de la siguiente manera:

kubectl create -f limit-range.yml

Si vuelve a ejecutar la verificación, debería ver que informa el rango de límite de nombre y la hora/fecha de creación. Luego puede verificar si el límite correcto está establecido con:

kubectl describe limitrange limit-range

Debería ver un valor mínimo de 200 m y un valor máximo de 1 (Figura A).

Figura A

rangelimita
Hemos establecido con éxito un límite de rango de CPU en un clúster de Kubernetes.

Eso es todo lo que hay que hacer para establecer límites sobre la cantidad y la cantidad de CPU que un contenedor puede devorar de un clúster de Kubernetes. Con esta característica, su contenedor siempre tendrá suficiente CPU, pero no podrá drenar el clúster.

LEER  Tres formas inteligentes de usar una plataforma de desarrollo low-code

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba