CATS APP TUTORIAL

Build local

Para desplegar la aplicación en local, hay que tener node en la máquina donde se quiere desplegar.

cd 01-cats-app
npm install
npm run start

La aplicación se encuentra expuesta en la ruta localhost:3000.

Interactuar con la aplicación cats

# Listar los gatos (GET /cats)
curl -s http://localhost:3000/cats

# Crear un gato (POST /cats)
curl -s -X POST http://localhost:3000/cats \
  -H "Content-Type: application/json" \
  -d '{"name":"Milo","age":2,"breed":"Tabby"}'

Construcción y ejecución de la Imagen de Docker

Para construir la imagen de Docker de cats hay que ejecutar los siguientes comandos.

cd 01-cats-app
# Construir la imagen.
docker build . -t cats:local   --no-cache
# Ejecutar la imagen y borrarla tras el uso.
 docker run--rm -p 3000:3000 cats:local

La aplicación vuelve a estar en la ruta localhost:3000.

Provisioning de K8s

Cilium

Para instalar cilium se debe ejecutar lo siguiente:

helm repo add cilium https://helm.cilium.io/  
helm install cilium cilium/cilium --namespace=kube-system --kubeconfig kubeconfig.yaml

Traefik

Para instalar traefik se debe ejecitar lo siguiente.

Se debe añadir el fichero que se distribuye con la documentación usando el flag -f.

helm install traefik traefik/traefik
helm install traefik traefik/traefik -f values.yaml --wait --kubeconfig kubeconfig.yaml

Despliegue Manual Cats-App

Antes de instalar la app se debe construir y subir las imágenes a un repositorio público.

docker build -t registry.gitlab.com/tfg-ricard/tfg-nodejs/documentation . --platform linux/amd64
docker push registry.gitlab.com/tfg-ricard/tfg-nodejs/documentation

docker build -t registry.gitlab.com/tfg-ricard/tfg-nodejs/cats-app . --platform linux/amd64
docker push registry.gitlab.com/tfg-ricard/tfg-nodejs/cats-app

Para instalar la aplicación de forma manual no se debe descargar un Chart ya qwue ya se tiene en la máquina.

Se crea un nuevo namespace para albergar la app.

Se instala el Chart de la misma forma que antes.

kubectl create ns cats-app --kubeconfig kubeconfig.yaml
helm upgrade cats-app tfg-nodejs/nestjs-test-app/helm/nestjs-test-app   -n cats-app --kubeconfig kubeconfig.yaml --install

Para acceder a la aplicación se debe añadir al fichero /etc/hosts la ruta al servidor.

Para añadir la ruta a /etc/hosts se puede utilizar el siguiente comando o actualizar el fichero a mano.

Cambiar el hostname y la IP a los que correspondan.

sudo echo "51.210.243.53 peiroricardtfg.org" >> /etc/hosts