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 fallava —
python:3.12-slimno téwget. Solució: usarpython -c "import urllib.request...". - Error YAML — Cometes imbricades al
docker-compose.yml. Solució: reescriure el fitxer complet amb heredoc. scpamb-rsobre un fitxer zip — Error de sintaxi. Solució:scpsense-rper fitxers, amb-rper carpetes.