Establecer los límites de recursos de Kubernetes

Establecer Los Limites De Recursos De Kubernetes



Los límites de recursos son una parte importante de la orquestación de contenedores de Kubernetes, ya que garantizan que los contenedores no consuman demasiados recursos o dejen de responder debido al agotamiento de los recursos. Este artículo proporciona una guía sobre cómo establecer los límites de recursos del contenedor de Kubernetes para maximizar sus beneficios y aprovechar al máximo sus aplicaciones. Aprenda a configurar y administrar sus recursos de contenedores de forma rápida y sencilla con solo unos pocos pasos simples para que pueda estar seguro de que todos sus servicios funcionan sin problemas.

Establecer los límites de recursos del contenedor en Kubernetes

Los límites de recursos del contenedor son un elemento esencial de Kubernetes, ya que permiten a los usuarios administrar la cantidad de recursos que puede consumir un contenedor. Para evitar la sobrecarga y garantizar el rendimiento de una aplicación, esto es particularmente crucial en contextos de producción. Estos son algunos consejos profesionales para establecer los límites de recursos del contenedor:







Comience por determinar los recursos que necesitan sus contenedores. Analice el uso de su sistema y determine qué contenedores deben tener sus límites de memoria y CPU ajustados. También es importante tener en cuenta los nodos subyacentes al establecer los límites de recursos: si establece un límite demasiado alto o demasiado bajo, es posible que el nodo no pueda ejecutar las otras aplicaciones sin bloquearse. A continuación, decida qué tipo de límite desea utilizar: ampliable o no ampliable. Ahora, veamos los pasos necesarios que puede seguir para establecer los límites de recursos del contenedor de Kubernetes. Antes de dirigirse hacia los pasos, hay algunos requisitos previos necesarios:



requisitos previos

Antes de pasar a los pasos, asegurémonos de que nuestro sistema cumpla con todas las necesidades de los requisitos previos. Asegúrese de tener Ubuntu 20.04 o cualquier otra versión más reciente para tener un entorno Linux/Unix para trabajar, clúster de Kubernetes, CLI de Kubectl para usar los comandos de kubectl, comunicación del clúster, administrar el entorno de desarrollo y minikube o cualquier otro área de juegos de Kubernetes para crear el racimos Instale estas herramientas si aún no las ha instalado antes de continuar con la siguiente sección. Ahora, pasamos a la guía paso a paso sobre cómo establecer los límites de recursos del contenedor de Kubernetes.



Cómo establecer los límites de recursos de Kubernetes

Establecer los límites de recursos del contenedor de Kubernetes es una parte importante de la administración y el mantenimiento de sus clústeres de Kubernetes. Tener un límite de recursos adecuado garantiza que cada contenedor se ejecute de manera óptima, sin comprometer el rendimiento de otros contenedores o de todo el clúster. Esto se puede hacer configurando las solicitudes de recursos y los límites para la CPU, la memoria, el almacenamiento efímero y más. Aquí se explica cómo establecer los límites de recursos del contenedor de Kubernetes correctamente.





Paso 1: Inicie el Minikube

El clúster de Minikube debe estar en un estado activo para que pueda ejecutar sus aplicaciones o comandos en él. Para asegurarse de que esté funcionando correctamente, use el siguiente comando dado:



> iniciar minikube

Paso 2: habilite el servidor de métricas

En este paso, compartimos el comando que le permite habilitar el servidor de métricas. El comando se da a continuación:

> complementos minikube habilitar servidor de métricas

Paso 3: comprobar si el servidor de métricas está activo o no

Escriba el siguiente comando para verificar si el servidor de métricas está activo o no:

> kubectl obtener apiservices

Como se ve en la imagen anterior, contiene una referencia a metrics.k8s.io en caso de que se pueda acceder a la API de métricas de recursos.

Paso 4: Crear un espacio de nombres

Para mantener los recursos, crea un espacio de nombres para este ejercicio que está separado del resto de su clúster. Ahora demostramos cómo crear un espacio de nombres. El comando que realiza se da de la siguiente manera:

> kubectl crear espacio de nombres ABC

Paso 5: Crear un archivo de configuración

El archivo de configuración YAML que usamos para construir un pod en el contenedor se crea en este paso. Aquí está el comando que se utiliza para lograr esto:

> nano reqlimit.yaml

Aquí, debe incluir una solicitud de CPU junto con un límite de CPU. Incluya los recursos: límites para definir un límite de CPU. En este caso, se crea un Pod con un solo contenedor. El contenedor tiene un límite de solicitud de 0,5 CPU y un máximo de 1 CPU. El archivo de configuración del Pod está disponible aquí. Como puede ver, la sección args del archivo de configuración contiene los argumentos que usa el contenedor cuando se inicia. Se le indica al contenedor que intente utilizar las 2 CPU a través del parámetro -cpus '2'.

Al crear recursos en Kubernetes, como implementaciones y pods, es importante especificar la cantidad mínima de recursos necesarios (solicitud) y la cantidad máxima de recursos permitidos (límite) para cada pod o implementación. Esto evita que un pod consuma demasiados recursos, lo que podría causar que los otros pods activos sufran una disminución del rendimiento o incluso se bloqueen debido a la falta de recursos disponibles en el clúster.

Paso 6: crea un pod

Ahora, le mostramos cómo crear el pod con el siguiente comando:

> kubectl crear -F reqlimit.yaml

A partir del resultado dado anteriormente, puede notar que se crea el pod llamado 'cpu-demo'.

Paso 7: Verifique el Pod

En este paso, verificamos si el pod creado está activo o no con el siguiente comando:

> kubectl obtener pod cpu-demostración --espacio de nombres =abc

Paso 8: ver los detalles del pod

Ahora, si desea ver la información detallada sobre el Pod, este es el comando que debe ejecutarse:

> kubectl obtener pod cpu-demostración --producción =yaml --espacio de nombres =abc

Paso 9: eliminar el pod

Aquí, le mostraremos cómo eliminar el pod para limpiar los recursos. El comando que se utiliza para este propósito es el siguiente:

> kubectl eliminar pod cpu-demostración --espacio de nombres =abc

Paso 10: Cree un archivo de configuración

En este paso, creamos un archivo de configuración. Este archivo especifica una solicitud de CPU que es bastante grande para sus nodos.

> nano reqlimit2

El archivo de configuración con un solo contenedor se puede encontrar aquí. El contenedor solicita 100 CPU, que es más que cualquier nodo que su clúster pueda proporcionar razonablemente.

Paso 11: Crear a te la vaina

En este paso, creamos el pod con el siguiente comando:

> kubectl crear -F reqlimit2.yaml

Paso 12: ver el estado del pod

Ahora, usted puede ver el st a tus de la vaina con el comando que se adjunta aquí:

El resultado muestra que el estado del pod es Pendiente.

Paso 13: vea la información del pod

Ahora, vemos la información detallada sobre el Pod, incluidos los eventos con el comando dado aquí:

Vaya a la sección de eventos y vea si el contenedor está programado o no.

Si no se puede programar y el motivo es que los recursos de la CPU son insuficientes, puede eliminar el nodo. Cómo eliminar un nodo se explica en el siguiente paso.

Paso 14: Eliminar el nodo

Puede eliminar el nodo con el siguiente comando:

> kubectl delete pod cpu-demo- 2 --espacio de nombres =abc

¿Cuál es el impacto de los límites de recursos del contenedor en el rendimiento?

Con la creciente popularidad de la tecnología de contenedores de Kubernetes, es importante comprender cómo los límites de recursos pueden afectar el rendimiento. Establecer los límites de recursos dentro de un contenedor de Kubernetes puede ayudarlo a garantizar que sus aplicaciones se ejecuten a su nivel óptimo y que no consuman demasiados recursos del servidor host. Al limitar los recursos, puede evitar los procesos redundantes desperdiciados, ayudar a evitar que el sistema se bloquee debido a la utilización y optimizar el rendimiento de sus contenedores.

Para establecer estos límites de recursos en un contenedor de Kubernetes, debe utilizar una herramienta llamada cgroups (grupos de control). Los Cgroups permiten a los administradores limitar los recursos, como los ciclos de CPU o el uso de memoria para contenedores individuales. También puede establecer otros parámetros, como el tamaño máximo de archivo o el uso de ancho de banda de red por contenedor.

Conclusión

Establecer los límites de recursos del contenedor de Kubernetes es una parte crucial de la gestión de su entorno de computación en la nube. Con la configuración adecuada, puede asegurarse de que cada contenedor tenga acceso a los recursos que necesita, pero no tanto como para afectar a otros contenedores o sistemas. Esto permite un uso más eficiente y rentable de los recursos informáticos. Además, al limitar la cantidad de memoria o CPU que puede consumir un contenedor, puede evitar que se produzcan interrupciones debido a procesos fuera de control o picos inesperados en el uso.