Architecture
Nœuds
| Nom Kubernetes | Région | IP publique | IP WireGuard | Rôle |
|---|---|---|---|---|
vps-a2cbe513 |
Gravelines | 213.32.65.236 |
10.50.0.1 |
control-plane, etcd, workloads |
vps-7a702a91 |
Strasbourg | 152.228.237.203 |
10.50.0.2 |
control-plane, etcd, workloads |
vps-b49e4e6f |
Gravelines | 51.254.130.191 |
10.50.0.3 |
control-plane, etcd, workloads |
vps-f0621bb1 |
Royaume-Uni (os-uk2) |
— | — | worker, compute CI/Dagger et workloads compatibles |
K3s est en version v1.36.3+k3s1. Le quorum etcd reste porté par les trois serveurs control-plane et tolère la perte d'un serveur sur trois. vps-f0621bb1 est un worker dédié au compute : il ne participe ni au quorum etcd ni à l'entrée Traefik publique. Les workloads qui doivent rester en France, notamment NotreCouple, l'excluent explicitement. Le dispatcher CI préfère ce worker, avec quatre runs en test ; uniquement lorsque ces quatre places sont occupées, il autorise un run sur chacun des anciens nœuds opt-in vps-7a702a91 et vps-b49e4e6f. Le DaemonSet Dagger est limité à ces trois hostnames et au label djayzone.com/dagger-runner=true ; n8n cible la région topology.kubernetes.io/region=os-uk2.
flowchart TD
U[Internet] --> CF[Cloudflare DNS / Proxy]
CF --> T1[Traefik GRA 213.32.65.236]
CF --> T2[Traefik SBG 152.228.237.203]
CF --> T3[Traefik GRA 51.254.130.191]
T1 <-->|WireGuard 10.50.0.0/24| T2
T2 <--> T3
T3 <--> T1
T1 --> K[K3s + etcd]
T2 --> K
T3 --> K
W[Worker UK vps-f0621bb1 / os-uk2] --> K
K --> F[Flux GitOps]
K --> A[Applications]
A --> W
Réseau
- WireGuard : UDP
51820, maillage privé complet des nœuds qui participent au réseau privé du cluster. - API Kubernetes : TCP
6443. - Entrée publique : TCP
80et443via Traefik/ServiceLB sur les trois control-plane. - Le worker UK est utilisé comme capacité compute et n'est pas une cible d'entrée publique Traefik.
- DNS des VPS : Cloudflare
1.1.1.1,1.0.0.1, secours Quad9. - Pare-feu UFW : refus entrant par défaut ; SSH, HTTP(S), API K3s et WireGuard explicitement autorisés selon le rôle du nœud.
DNS et TLS
Les zones djayzone.com et jemimah.fr sont déléguées à julissa.ns.cloudflare.com et kirk.ns.cloudflare.com. Les noms à deux niveaux *.lab.djayzone.com restent en DNS only, car le certificat Universal SSL gratuit Cloudflare ne couvre pas ces noms. Leur TLS est fourni par cert-manager avec Let's Encrypt.