Configurar HPA en Kubernetes

Configurar HPA en Kubernetes
En este artículo, discutiremos la configuración de la autoscalización de POD horizontal en Kubernetes. Este tema es muy interesante e informativo en Kubernetes. Hay mucha confusión sobre cómo los contenedores se escalan horizontalmente en Kubernetes. En este editorial, hablaremos sobre cada detalle de paso con capturas de pantalla relevantes. Si no tiene idea de Kubernetes, revise nuestros artículos anteriores que están relacionados con Kubernetes. HPA es la escala automática de pods, horizontalmente. Echemos un vistazo a las siguientes secciones para obtener más comprensión.

¿Qué es HPA en Kubernetes??

HPA significa Autoscaler de POD horizontal en Kubernetes, y modifica la estructura de la carga de trabajo de tráfico de Kubernetes al aumentar o disminuir automáticamente el número de POD de acuerdo con la capacidad de utilización de la CPU. A diferencia de modificar los recursos que se asignan a un solo contenedor, esta escala se lleva a cabo horizontalmente porque afecta el número total de instancias de CPU.

¿Cómo funciona HPA en Kubernetes??

Todos somos conscientes de que la CPU maneja procesos. Tan pronto como implementamos y establecemos las réplicas, los demonios están configurados y podemos agregar manualmente más vainas al conjunto de implementación o réplica. Kubernetes proporciona autoscalización de POD horizontal para automatizar este proceso. HPA es el controlador que se utiliza para controlar la utilización de la CPU a través de la automatización. Una aplicación de Kubernetes escala automáticamente en función de las cargas de trabajo. Si el número de tráfico disminuye y la utilización de la CPU disminuye, escala hacia abajo. La aplicación Kubernetes se desprende cuando las cargas de trabajo aumentan creando más réplicas de la aplicación Kubernetes.

Prerrequisitos:

Se requieren lo siguiente para ejecutar el HPA en su aplicación Kubernetes:

  • Instalar la última versión de Ubuntu en su sistema.
  • Si es un usuario de Windows, instale primero la caja virtual y ejecute el Ubuntu o Linux virtualmente en su sistema.
  • La última versión instalada de Kubernetes en su sistema con la versión 1.23.
  • Debe tener una idea sobre el clúster Kubernetes y la herramienta de línea de comandos Kubectl en la que ejecutamos los comandos. Debes conocer su configuración.

En este artículo, aprenderemos cada detalle de paso con ejemplos útiles. Si eres un principiante, este es el lugar correcto para que aprendas sobre los métodos de Kubernetes. Explicaremos sobre el proceso de configuración de HPA en diferentes pasos. Vamos a empezar!

Paso 1: inicio de contenedores de Kubernetes

En este paso, comenzamos con el contenedor Kubernetes, que es un minikube. Ejecutamos el siguiente comando para iniciar el minikube:

> Minikube Start

Minikube comienza después de la ejecución de comandos. Minikube nos proporciona un contenedor local de Kubernetes en el que realizamos diferentes acciones.

Paso 2: Ejecute el servidor PHP-APACHE en el archivo YAML

En este paso, creamos un archivo de configuración después de que se crea un contenedor para iniciar una implementación. Ejecutamos el siguiente comando para crear un archivo YAML:

> nano php.yaml

La siguiente es la ejecución del comando que se menciona en la captura de pantalla adjunta.

El archivo de configuración contiene diferentes tipos de datos como el nombre del archivo, la especificación de contenedores y la especificación del selector. Este contenedor se ejecuta con la ayuda de "Registro.K8S.IO/HPA-Ejemplo ”La imagen como podemos ver en la siguiente captura de pantalla:

Esta es también la parte del archivo YAML:

Paso 3: crear una implementación y servicios en Kubernetes

En este paso, creamos una implementación y lo declaramos como un servicio utilizando la captura de pantalla adjunta. Ejecutamos el siguiente comando en el terminal:

> kubectl aplicar -f Php.yaml

Después de esta ejecución de comando, se crea el servidor de implementación PHP-APACHE. Junto con esto, el servicio se crea con éxito.

Paso 4: Crea un autoscaler de Pod horizontal en Kubernetes

En este paso, creamos un AutoScaler de POD horizontal usando Kubectl en el servidor de implementación. Para este propósito, ejecutamos el siguiente comando:

> Kubectl AutoScale Deployment PHP -APACE -CPU -PORPER = 50 -min = 1 -Max = 10

Cuando ejecutamos este comando, el AutoScaler de POD horizontal se crea con éxito. En el comando anterior, también inicializamos los valores MIN y MAX. Esto significa que el autoscaler de Pod horizontal se mantiene entre 1 y 10 réplicas de la cápsula. Todo esto está controlado por el servidor PHP-APACH de implementación de la implementación.

Paso 5: Verifique el estado de Autoscaler de POD horizontal en Kubernetes

En este paso, queremos obtener o verificar el estado de HPA, si algún HPA está presente en Kubernetes o no. Ejecutamos el comando adjunto para este propósito:

> kubectl obtener hpa

Como hemos visto en la captura de pantalla previamente atacada, un HPA está presente en nuestro contenedor y su nombre es "PHP-Apache". La referencia de este POD es "Implementación/PHP-APACHE". Los objetivos nos muestran que el consumo de CPU de esta cápsula se desconoce para el 50%, lo que significa que no se recibe ninguna solicitud del cliente. El número mínimo de la cápsula es 1 y el número máximo de pods es 10. Las réplicas son "0" y la edad de esta cápsula es "7s".

Paso 6: Aumente una carga de trabajo o tráfico en el servidor

En este paso, nos conectamos a la implementación que se creó anteriormente para crear un POD y verificar el HPA en el entorno real para ver si el HPA puede administrar los recursos o no. También aumentamos la carga en el clúster ejecutando el siguiente comando posterior:

> Kubectl Run -I -Tty Load -Generator -RM -Image = BusyBox: 1.28 -restart = nunca - /bin /sh -c "mientras duerme 0.01; do wget -q -o- http: // php -apache; hecho"

Paso 7: Mire el HPA después de la ejecución

Podemos ver fácilmente la lista de HPA ejecutando el siguiente comando:

> Kubectl Get HPA PHP-Apache--Watch

Después de ejecutar el comando mencionado anteriormente, el resultado parece igual que en el paso 6 de este artículo.

Paso 8: Muestre la implementación de Kubernetes

En este paso, obtenemos la lista de implementaciones de Kubernetes simplemente ejecutando el siguiente comando:

> kubectl obtener implementación php-apache

Paso 9: crear más réplicas

En este paso, creamos la réplica de la misma vaina en Kubernetes con el mismo comando:

> Kubectl Get HPA PHP -APACHE -Watch

Este comando observa el detalle de la cápsula después de la ejecución. Podemos ver este detalle de la cápsula en la captura de pantalla mencionada anteriormente.

Paso 10: reclita el despliegue nuevamente

En este paso, ejecutamos el mismo comando para mostrar la implementación. El comando es el siguiente:

> kubectl obtener implementación php-apache

Conclusión

Este artículo trata sobre HPA. HPA proporciona una instalación para la automatización relacionada con la utilización de la CPU. Aprendimos cada detalle de paso para la configuración de HPA. Esperamos que también comprenda el funcionamiento de HPA, y pueda hacer esta práctica en su entorno.