Cómo limitar los rangos de CPU en Kubernetes: Guía paso a paso
Cuando creas tus pods y contenedores de Kubernetes, por defecto tienen acceso ilimitado a los recursos de tu clúster. Esto puede ser tanto bueno como malo. Es bueno porque sabes que tus contenedores siempre tendrán todos los recursos que necesitan. Es malo porque tus contenedores pueden consumir todos los recursos de tu clúster.
Tal vez no quieras eso, especialmente cuando tienes numerosos pods que contienen contenedores cruciales para mantener tu negocio funcionando sin problemas.
¿Qué puedes hacer?
Limita los rangos de CPU en tus pods.
Esto en realidad es una tarea bastante sencilla, ya que lo defines en tus espacios de nombres. Voy a guiarte en el proceso de cómo definir límites de CPU en el espacio de nombres por defecto. A partir de ahí, podrás aplicar esta opción en todos tus espacios de nombres.
Lo que necesitarás
Lo único que necesitarás para hacer esto funcionar es tener un clúster de Kubernetes en funcionamiento. Estaré demostrándolo con un solo controlador y tres nodos, pero todo el trabajo lo harás en el controlador.
Los diferentes tipos de buses en los dispositivos electrónicosCómo limitar los rangos de CPU
Vamos a crear un nuevo archivo YAML para limitar los rangos de CPU para los contenedores en el espacio de nombres por defecto. Abre una ventana de terminal y ejecuta el siguiente comando:
nano limit-range.yml
Las opciones importantes para este archivo YAML son kind y cpu. Para kind usaremos LimitRange, que es una política para limitar las asignaciones de recursos (tanto para Pods como para Contenedores) dentro de un espacio de nombres. La opción cpu define lo que estamos limitando. También puedes limitar la cantidad de memoria disponible, utilizando la opción memory, pero nos vamos a centrar en cpu por ahora.
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 puedes limitarlos de dos formas, utilizando milliCPU o simplemente CPU. Lo que estamos haciendo es limitar la CPU a un máximo de 1 CPU y un mínimo de 200 milliCPU (o m). Una vez que hayas escrito el archivo, guárdalo y ciérralo.
Cómo entrar al programa de configuración del BIOS en tu computadoraAntes de aplicar el archivo YAML, verifica si ya se ha establecido un límite de rango con el comando:
kubectl get limitrange
El comando anterior no debería devolver nada.
Ahora, ejecuta el comando para crear el limitrange de la siguiente manera:
kubectl create -f limit-range.yml
Si vuelves a ejecutar la verificación, deberías ver que devuelve el nombre limit-range y la fecha/hora en que se creó. Luego puedes verificar que los límites adecuados se establecieron con el comando:
Entendiendo los permisos de archivos y directorios en UNIXkubectl describe limitrange limit-range
Deberías ver que el mínimo es de 200m y el máximo es de 1 (Figura A).
Figura A
Y eso es todo lo que necesitas hacer para establecer límites sobre cuánta CPU pueden consumir tus contenedores de tu clúster de Kubernetes. Utilizando esta función, tus contenedores siempre tendrán suficiente CPU, pero no serán capaces de agotar por completo el clúster.
Cómo recuperar una contraseña de BIOS perdida: dos métodos efectivosEn Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Centros de Datos, allí encontraras muchos artículos similares a Cómo limitar los rangos de CPU en Kubernetes: Guía paso a paso , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados