Comando de escalado automático de Kubectl

Comando De Escalado Automatico De Kubectl



Kubernetes proporciona capacidad de escalado automático para administrar los recursos automáticamente sin interacción humana. La función de escalado automático cambia automáticamente la cantidad de nodos cuando es necesario y ahorra recursos. En este artículo, aprenderemos cómo implementar el comando 'kubectl autoscale' y el autoescalado 'HorizontalPodScaler'. Este tutorial enseña este importante concepto en detalle. Primero analicemos qué es el concepto de autoescala de kubectl y luego avancemos hacia el proceso paso a paso para una mejor comprensión. Este artículo es muy útil si eres nuevo en el concepto de escalado automático de Kubernetes.

¿Qué es el escalado automático de Kubectl?

El ajuste de escala automático es la característica principal del clúster de Kubernetes que hace que los recursos se actualicen automáticamente sin la molestia de hacerlo manualmente. Actualizar manualmente los recursos exigentes es un proceso que consume mucho tiempo y recursos. El escalado automático de Kubernetes proporciona una función automática para optimizar los recursos.

Autoscaler puede crear y destruir la cantidad de nodos según el requisito. Autoscale reduce el desperdicio de recursos. La escalabilidad automática de Kubectl elige automáticamente los pods que se están ejecutando actualmente dentro del clúster de Kubernetes.







Hay dos tipos de escalado: (1) HorizontalPodScaler y (2) Escalador vertical. El escalador Horizontal es diferente del escalador Vertical. El HorizontalPodScaler ayuda a disminuir o aumentar los pods cuando sea necesario. Por otro lado, el escalador Vertical utiliza recursos como CPU y memoria.



Aquí están todos los pasos que puede seguir en su sistema y ver el resultado para una mejor comprensión.



Paso 1: iniciar un clúster de Minikube

En el primer paso, inicie la herramienta minikube para ejecutar el clúster de Kubernetes para que podamos ejecutar el comando 'kubectl autoscale'. Puede configurar sus nodos, pods e incluso un clúster en el entorno de Kubernetes utilizando el clúster de minikube. Para hacerlo, use el siguiente comando para mantener el minikube en modo activo:





~$ iniciar minikube

Como puede ver en la siguiente captura de pantalla de salida, este comando habilita el clúster de minikube y hace que el entorno de Kubernetes sea utilizable:

Paso 2: obtenga los detalles del pod

En este paso, el clúster de Kubernetes se ejecuta correctamente. Ahora, obtenemos los detalles del pod en el clúster. El pod en Kubernetes es la colección de unidades que comparten recursos. El siguiente script se ejecuta ejecutando el siguiente comando en su clúster de minikube:

~$ kubectl obtener vainas

Con el comando anterior, que es 'kubectl get pods', podemos obtener la lista de todos los pods que se ejecutan en el clúster de Kubernetes.

Luego de ejecutar el comando “get pods”, obtenemos el siguiente resultado:

  Captura de pantalla de un programa de computadora Descripción generada automáticamente con nivel de confianza bajo

Paso 3: obtenga las implementaciones de Pod

En el comando anterior 'kubectl get pods', obtenemos los detalles de los pods. Ahora, usamos el comando 'get deployment' para obtener la lista de las implementaciones creadas. El siguiente script se ejecuta para este propósito:

~$ kubectl obtener implementaciones

Después de ejecutar el comando, la siguiente captura de pantalla muestra el resultado:

Paso 4: implementación de escalabilidad automática

El comando de escalado automático se usa para realizar la selección de automatización de los pods que se ejecutan en el clúster. Al implementar la escalabilidad automática en el clúster, insertamos y finalizamos automáticamente la cantidad de nodos. El siguiente script se ejecuta en el clúster de minikube y muestra el nombre del archivo, los pods mínimos y los pods máximos donde los pods deben estar entre 2 y 10:

~$ implementación de escalabilidad automática de kubectl nginx1-deployment1 --min = 2 --max = 10

Después de ejecutar el comando, se genera el siguiente resultado:

Paso 5: Cree un archivo YAML de Kubernetes

En este paso, aprenderá a crear el archivo YAML en el clúster. El archivo YAML es útil para la implementación y la prueba de aplicaciones. Hay varios tipos en Kubernetes para crear y editar el archivo.

En este artículo, usamos el comando 'nano' para crear el archivo YAML porque es la forma más fácil y la mejor opción para los principiantes.

Siga los pasos dados aquí para crear un archivo YAML usando nano:

  • Para crear un nuevo archivo o cambiar uno existente, navegue hasta la ubicación del directorio deseado.
  • Escribe 'nano'. Después de eso, escriba el nombre del archivo. Por ejemplo, si desea crear un nuevo nombre de archivo, escriba el nombre: 'deploo.yaml'.

Ejecute el siguiente script y cree un archivo YAML en el directorio del proyecto:

~$ nano deploo.yaml

Después de crear el archivo “deploo.yaml”, el siguiente paso es configurar el archivo YAML. Te lo explicamos en el siguiente paso.

Paso 6: contenido del archivo YAML

En este paso, podemos configurar fácilmente el servidor Apache y los archivos PHP. Antes de utilizar HorizontalPodScaler, debemos configurar el monitor de carga de trabajo. Como el siguiente fragmento de código muestra el tipo: implementación, el puerto del navegador web es 90 y el límite de CPU es 200 m.

Puede ver la información completa del archivo “deploo.yaml” aquí:

apiVersion : aplicaciones/v1
amable
: Despliegue
metadatos
:
nombre
: php
Especificaciones
:
selector
:
etiquetas de coincidencia
:
correr
: php-apache
plantilla
:
metadatos
:
etiquetas
:
correr
: php-apache
Especificaciones
:
contenedores
:
- nombre
: php
imagen
: registry.k8s.io/hpa-example
puertos
:
- Puerto de contenedores
: 90
recursos
:
limites
:
UPC
: 200m
peticiones
:

UPC
: 100m
---
apiVersion
: v1
amable
: Servicio
metadatos
:
nombre
: php
etiquetas
:
correr
: php-apache
Especificaciones
:
puertos
:
- puerto
: 70
selector
:
correr
: php-apache

Paso 7: Crear la implementación

En este paso, vamos a crear el archivo YAML llamado 'deploo.yaml'. El siguiente script se ejecuta en el clúster de minikube:

~$ kubectl create -f deploo.yaml

El resultado del comando mencionado anteriormente que ejecutamos se puede ver en la captura de pantalla que sigue. El resultado indica que se ha creado el archivo YAML:

Paso 8: Crea el HorizontalPodScaler

En este paso, le mostraremos el comando para crear el HorizontalPodAutoscaler. Los pods se insertan y terminan automáticamente según la demanda. Es distinto del escalado vertical, en el que los recursos de CPU y memoria se asignan mediante escalado automático. El siguiente script se ejecuta en el clúster de minikube:

~$ implementación de escala automática de kubectl php -- UPC - por ciento = 50 -- min = 10 –max = 20

Aquí puede ver que establecemos los valores mínimo y máximo en 10 y 20.

Adjunto está la salida del comando anterior:

Paso 9: verifique el HorizontalPodScaler

En este paso, verificamos el estado actual de HorizontalPodAutoscaler que se creó recientemente. Se ejecuta el siguiente comando:

~$ kubectl obtener hpa

Conclusión

Una de las características más útiles de Kubernetes es la 'escala automática de kubectl', que proporciona actualizaciones automáticas de recursos en el clúster de Kubernetes. El escalador automático ayuda cuando un clúster necesita aumentar o disminuir los pods. En este artículo, aprendimos los dos métodos de escalado automático: uno es el escalador automático predeterminado y el otro es el HorizontalPodScaler.

Primero, desplegamos los pods y los declaramos. Luego, creamos el escalador automático y configuramos el servidor Apache para implementar el monitor de carga de trabajo antes que HorizontalPodScaler. Después de eso, creamos un archivo YAML y el HorizontalPodScaler. Este artículo se centró en los pasos detallados para crear, configurar e implementar Kubernetes de escalado automático.