Stack : GCP · GKE · Terraform · Helm · ArgoCD · SOPS · Kube-Prom-Stack · Nginx Gateway Fabric · cert-manager
Pourquoi ce projet ?
Je me lance en freelance DevOps / Platform Engineer / Cloud Engineer. Pour montrer ce que je sais faire (et documenter ce que j’apprends en chemin), je démarre un projet fil rouge public : construire une plateforme Kubernetes complète sur GCP, from scratch, avec les outils que j’estime indispensables en 2026.
Chaque article de la série documente une étape, les obstacles rencontrés et comment je les ai résolus. Format court, orienté pratique.
Je vais tenter de garder une approche pragmatique orientée “best practices” (mais pas dogmatique) pour que ce soit utile à d’autres personnes qui veulent se lancer dans la même aventure.
Ce qu’on va construire
Un cluster GKE avec la stack suivante, déployée en GitOps :
| Composant | Rôle |
|---|---|
| Terraform | Provisionning du cluster et bootstrap |
| Helm + ArgoCD | GitOps, tout passe par là après le bootstrap |
| SOPS | Gestion des secrets chiffrés dans Git |
| kube-prometheus-stack | Monitoring & alerting (Prometheus, Grafana, Alertmanager) |
| Nginx Gateway Fabric | Ingress via la Gateway API |
| cert-manager + Let’s Encrypt | TLS automatique |
Je me focalise sur ce qui me semble essentiel pour adresser la majorité des besoins. A termes j’envisage d’ajouter d’autres composants destinés à des usages plus complexes : KEDA, Karpenter, Dapr, …
Les étapes prévues
- Création du cluster GKE via Terraform
- Bootstrap Helm & ArgoCD via Terraform
- Déploiement de kube-prometheus-stack via ArgoCD
- Déploiement de Nginx Gateway Fabric / Gateway API via ArgoCD
- Déploiement de cert-manager + Let’s Encrypt via ArgoCD
- Mise en place de SOPS pour la gestion des secrets
J’ajouterai probablement d’autres étapes au fur et à mesure* (ex: gestion des node pools, autoscaling, etc.) selon les besoins et les obstacles rencontrés*
Principes de base
- Tout dans Git — aucune modification manuelle sur le cluster après le bootstrap
- Least privilege — les SA GCP auront le minimum requis
- Les secrets ne sont jamais en clair dans le repo
- KISS — Keep It Simple Stupid. Pas de sur-optimisation, pas de microservices inutiles, pas de complexité superflue
Prochaine étape
→ Création du cluster GKE avec Terraform (à venir)
