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

K3s est en version v1.36.3+k3s1. Le quorum etcd tolère la perte d'un serveur sur trois.

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
  K --> F[Flux GitOps]
  K --> A[Applications]

Réseau

  • WireGuard : UDP 51820, maillage privé complet.
  • API Kubernetes : TCP 6443.
  • Entrée publique : TCP 80 et 443 via Traefik/ServiceLB.
  • 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.

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.