Plateforme · en production
INFRA
Mon cluster Kubernetes de production, entièrement piloté par Git : trois nœuds k3s provisionnés et durcis par Ansible, sur lesquels tournent mes applications.
Le cluster sur lequel tournent mes projets. Il tient en deux dépôts, parce que les deux choses ne changent pas au même rythme : l'un prépare et durcit les machines avec Ansible, l'autre décrit tout ce qui tourne dans Kubernetes, et Argo CD l'applique. Rien n'est installé à la main sur le cluster, à part Argo CD lui-même.
Ce que j'ai construit
- Provisionnement et durcissement par Ansible : CIS niveau 1, kube-bench sans échec, audit Lynis.
- Argo CD synchronise plus de 30 applications depuis Git ; les secrets sont chiffrés avec Sealed Secrets.
- Sécurité en profondeur : WAF CrowdSec (199 règles OWASP CRS), SSO Authelia en OIDC, administration uniquement par WireGuard, scans CVE continus et politiques Kyverno.
- Observabilité avec Prometheus, Grafana, Loki et Tempo ; PostgreSQL opéré par CloudNativePG, WAL archivés en continu.
Points forts
- Aucun port ouvert : le trafic entre par un tunnel sortant, avec deux connecteurs sur deux nœuds. L'IP directe du serveur répond 404.
- Plugins Traefik stockés dans Git et vérifiés par sha256 : le reverse proxy démarre même sans accès à Internet.
- Environnements de staging mis en veille après une heure sans trafic, réveillés à la première requête.
- Réservation mémoire du kubelet appliquée par Ansible, qui refuse tout plafond inférieur à la consommation réelle.