¿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:
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 StartMinikube 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.yamlLa 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.yamlDespué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 = 10Cuando 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 hpaComo 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--WatchDespué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-apachePaso 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 -WatchEste 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-apacheConclusió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.