Clonar el repositorio:
git clone https://github.com/ISIS2503/ISIS2503-Microservices-AppDjango.git
Navegar al directorio del proyecto:
cd ISIS2503-Microservices-AppDjango
Crear el despliegue con Google Cloud Deployment Manager:
gcloud deployment-manager deployments create <nombre-del-despliegue> --config deployment.yaml
Nota: Reemplace <nombre-del-despliegue>
por el nombre que desee.
Eliminar el despliegue:
gcloud deployment-manager deployments delete <nombre-del-despliegue>
Nota: Reemplace <nombre-del-despliegue>
por el nombre que desee.
Verificar los logs del servicio de scripts de inicio de Google:
sudo journalctl -u google-startup-scripts.service
Navegar al directorio del proyecto:
cd /home/labs/ISIS2503-Microservices-AppDjango
Editar el archivo de configuración de Kong:
sudo nano kong.yaml
Reiniciar el contenedor de Kong:
docker restart kong
Navegar al directorio del servicio de Variables:
cd /home/labs/ISIS2503-Microservices-AppDjango/variables
Construir la imagen Docker del servicio de Variables:
docker build -t variables-app .
Ejecutar el contenedor del servicio de Variables:
docker run --name variables -it --rm -e VARIABLES_DB_HOST=<ip-variables-db> -p 8080:8080 variables-app
Nota: Reemplace <ip-variables-db>
por la IP privada o interna de la base de datos de variables.
Navegar al directorio del servicio de Measurements:
cd /home/labs/ISIS2503-Microservices-AppDjango/measurements
Crear las migraciones de la base de datos:
sudo python3 manage.py makemigrations
Aplicar las migraciones de la base de datos:
sudo python3 manage.py migrate
Ejecutar el servidor del servicio de Measurements:
sudo python3 manage.py runserver 0.0.0.0:8080
Llave | Valor |
---|---|
API_PATH | https://raw.githubusercontent.com/ISIS2503/ISIS2503-Microservices-AppDjango/master/data/temperatura.json |
MS_PATH | http://<IP_PUBLICA_MEASUREMENTS>:8080/createmeasurements |
Nota: Reemplace <IP_PUBLICA_MEASUREMENTS>
por la IP pública o externa del servicio de Measurements.
import requests
import json
import os
def hello_world(request):
data = requests.get(os.environ.get('API_PATH'), headers={"Accept":"application/json"})
json_data = data.json()
response = requests.post(os.environ.get('MS_PATH'), json=json_data, headers={'Content-type': 'application/json', "charset": "utf-8"})
return "The function was successfully executed"
Llave | Valor |
---|---|
API_PATH | https://raw.githubusercontent.com/ISIS2503/ISIS2503-Microservices-AppDjango/master/data/oxigeno.json |
MS_PATH | http://<IP_PUBLICA_MEASUREMENTS>:8080/createmeasurements |
Nota: Reemplace <IP_PUBLICA_MEASUREMENTS>
por la IP pública o externa del servicio de Measurements.
Navegar al directorio del servicio de Places:
cd /home/labs/ISIS2503-Microservices-AppDjango/places
Ejecutar el servicio de Places:
sudo python3.12 main.py