¿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 vainasCon 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:
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 implementacionesDespué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 = 10Despué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.yamlDespué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/v1amable : 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.yamlEl 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 = 20Aquí 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 hpaConclusió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.