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
80et443via 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.