Guia de desplegament
Aquesta és la ruta completa per aixecar una xarxa Sora des de zero. Cada pas enllaça a la secció on s'explica en detall.
Fallar és l'estat natural de tot això! Comença sempre per l'entorn de testing: si falles per tot arreu, sempre el pots llençar a les escombraries i tornar a començar.
Requisits previs
- Proxmox VE operatiu, en standalone o en clúster, amb un token d'API i accés SSH. La documentació de Proxmox n'és la base.
- Un servidor físic Ubuntu x64 per a l'orquestrador, on s'instal·larà Horizon, amb un usuari amb
sudosense contrasenya oroot. Ha de ser físic perquè gestiona els serveis bàsics de la xarxa (DNS, DHCP, NTP, Horizon, ...): no pot dependre de Proxmox, ja que tota la resta depèn d'ell. - Un NAS o servidor NFS per a les còpies de seguretat.
- Un domini a Cloudflare amb un token d'API que permeti editar la zona DNS. S'utilitza per als certificats de Let's Encrypt per DNS-01, fins i tot per a noms que només existeixen dins de la xarxa.
- Un compte SMTP per a les notificacions per correu.
- Opcionalment, un workspace de Slack on FluxCD envia els seus avisos d'actualitzacions i errors.
1. El servidor orquestrador
Executar Sora Conductor al servidor orquestrador:
sudo bash -c "$(curl -fsSL https://gitlab.com/api/v4/projects/ReiIzumi%2Fsora-conductor/repository/files/init-sora-conductor.sh/raw?ref=main)"
L'assistent deixa instal·lat i configurat Pi-hole, el relay SMTP, NTP, lighttpd amb certificat, PostgreSQL, Nagios i, finalment, Sora Horizon, accessible a https://<domini>:444/horizon.
2. Configurar Horizon
Horizon es configura alternant entre l'administrador i l'operador. La seqüència detallada és a Primers passos; en resum:
- Administrador: usuaris, organització (entorns, tags, ...), Nagios, Proxmox, claus SSH, NTP i la xarxa (xarxes, dominis i tipus d'IP).
- Operador: importar les plantilles de sora-project-infrastructure, desplegar la ISO d'Ubuntu i registrar el que ja existeix a la xarxa: adreces reservades, carpetes compartides i dispositius.
3. Stacks bàsics
Cada peça és un stack a Horizon. L'ordre importa, perquè cadascuna fa servir l'anterior:
- PostgreSQL: el servidor de base de dades, i una execució de l'acció Create User per aplicació (per exemple
keycloak). - Monitorització: Prometheus, Loki, Tempo i Grafana.
- GitLab Runner, si es fa servir GitLab.
Amb la monitorització desplegada, l'administrador registra Prometheus i Grafana a Horizon a partir del mateix stack i configura Grafana.
4. Kubernetes i FluxCD
L'operador desplega l'stack de Kubernetes: un control plane i almenys tres workers. Amb la seva sortida kubeconfig, instal·lar el Flux Operator i aplicar el FluxInstance de l'entorn. A partir d'aquí FluxCD desplega per nivells la xarxa, l'ingress, l'observabilitat, Keycloak i les aplicacions.
5. Keycloak i aplicacions
Amb Keycloak en marxa, l'administrador el connecta a Admin › Keycloak d'Horizon, i l'operador crea els realms i importa la configuració de cada aplicació des de la secció Keycloak. Les aplicacions de FluxCD ja poden iniciar sessió, i Grafana pot passar a fer servir Keycloak.
A partir d'aquest punt, el dia a dia es redueix a: editar un stack a Horizon per canviar una màquina, i fer un commit al repositori de FluxCD per canviar el que corre a Kubernetes. Les actualitzacions menors arriben soles i Slack n'avisa.