Aller au contenu

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 80 et 443 via 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.