EN este Post veremos como crear un grupo de imagenes auto escalables en Google Cloud segun el consumo de CPU, esto permite crecer automaticamente horizontalmente en instancias cuando tenemos picos de consumo y luego automaticamente volver a una sola sola VM. Esto nos permite ahorran en costos y lograr que el sitio seguira online  y ademas tener tolerancia a fallos

1º paso
Crear VM Instance

 

En automation – Startup Script colocar el siguiente script que instalara Apache y publicara un hello World

#! /bin/bash
apt-get update
apt-get install -y apache2
cat <<EOF > /var/www/html/index.html
<html><body><h1>Morettimaxi.com.ar – Hello World</h1>
<p>This page was created from a simple startup script!</p>
</body></html>
EOF

01-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


Probar que el sitio funciona con la ip Publica que nos da la VM creada:

03-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar

 


Borrar la VM

Editar la configuracion de la VM, destildando la opcion “Delete boot disk when instance is deleted”

04-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar

Eliminar la VM

 

 

05-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


Creamos una imagen desde el disco de la instancia creada anteriormente

 

06-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar

Seleccionamos Sorce Disk el disco de la isntancia anterior:

07-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


Luego seleccionamos crear “instance template”. Seleccionando la imagen creada anteriormente y tildando HTTP traffic.

08-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


Creamos un grupo de instancias:

Seleccionado como imagen template la q creamos en el paso anterior

09-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar

Elegimos el tipo de autoscale, en nuestro ejemplo seleccionamos  CPu, luego se selecciona el porcentaje de CPU que queremos como limite para crear una nueva instancia, el minimo de instancias y el maximo. Y el periodo que se tomarà para bajar una instancia en el caso que el cpu este por debajo del limite.

10-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


Creamos un Load Balance para que distibuya el trafico entre el grupo de instancias:

11-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar

Creamos un Load balance HTTP:

12-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar

 


Para acceder al sitio podemos acceder desde la ip publica del load balancing:

03-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


Verificamos que tenemos soloa una VM creada, ya que el CPU esta por debajo del limite

 

14-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


hacemos pruebas de Stress al servidor, en mi caso para esta prueba simple use el AB de apache (https://httpd.apache.org/docs/2.4/programs/ab.html) con el objetivo de forzar a la VM y que cree una nueva VM.

16-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar


Como veremos el sistema auto creo una nueva VM:

15-compute-engine-google-cloud-auto-scaling-espanol-morettimaxi-com-ar

 

 

Anuncios