DESPLEGAMENT I VALIDACIÓ EN LOCAL

Eines: Docker Desktop / Minikube

Hem desplegat i validat tot l’entorn en una màquina virtual Debian  via SSH. El procés complet que vam seguir:

1. Transferència de fitxers — Via scp des de la màquina local a la MV.

2. Instal·lació de Docker — Des del repositori oficial de Docker per a Debian, incloent Docker Compose v5 i el plugin Buildx.

3. Resolució de conflictes — La MV era un clon que tenia Nginx i Apache2 del sistema ocupant el port 80. Els vam desactivar amb systemctl stop/disable.

4. Arrencada i validació:

docker compose up –build -d
curl http://localhost/health # → {“status”:”ok”}
curl http://localhost/items # → llista d’items via proxy

5. Script deploy.sh — Un únic script que centralitza totes les operacions: construir la imatge, escanejar vulnerabilitats, arrencar en local (Docker Compose o Minikube) o desplegar al clúster de producció.

Per a que serveix? Validar en local abans de pujar a producció evita errors costosos. L’entorn de Minikube replica el comportament de Kubernetes real, permetent provar els manifests, l’Ingress i els health checks sense risc.

Endpoints de l’API disponibles

 

 

 

Problemes resolts durant el procés

Durant la pràctica vam trobar i resoldre diversos errors reals, que formen part de l’aprenentatge:

  • host not found in upstream — Nginx no podia resoldre el contenidor de la API a l’arrencar. Solució: resolver 127.0.0.11 + variable $upstream.
  • Port 80 ocupat — Un Nginx i un Apache2 del sistema (clon de MV) bloquejaven el port. Solució: systemctl stop/disable.
  • Health check fallavapython:3.12-slim no té wget. Solució: usar python -c "import urllib.request...".
  • Error YAML — Cometes imbricades al docker-compose.yml. Solució: reescriure el fitxer complet amb heredoc.
  • scp amb -r sobre un fitxer zip — Error de sintaxi. Solució: scp sense -r per fitxers, amb -r per carpetes.