PROTOCOL_ID: FO-09 CLASS: COST_ENGINEERING
FinOps Kubernetes et maîtrise des coûts
Nous rendons la facture du cluster visible, la réduisons là où le gaspillage se trouve vraiment, et inscrivons la discipline pour qu'elle le reste.
Difficulté: 2 / 3
Vue d'ensemble
La plupart des factures Kubernetes ne sont pas élevées parce que la plateforme coûte cher. Elles le sont parce que personne ne voit où part l'argent. La facture arrive par instance quand l'organisation raisonne par équipe et par application, et dans cet écart de traduction les requests surdimensionnées, les nœuds inactifs et les environnements oubliés s'accumulent tranquillement pendant des trimestres. Le premier travail n'est pas de couper — c'est de rendre la dépense assez lisible pour que la coupe devienne évidente.
Le levier qui déplace le plus le chiffre, c'est la façon dont les nœuds sont provisionnés. Karpenter, projet CNCF, remplace des groupes de nœuds devinés à l'avance par un provisioning piloté par les pods : il lit ce qui est réellement en attente, choisit le type d'instance, la taille et le mode d'achat qui conviennent, et mélange spot et on-demand selon la politique définie. Sa boucle de consolidation est la partie qui compose — elle repère en continu que les mêmes charges tiendraient sur des nœuds moins chers ou moins nombreux et reconstruit la flotte en conséquence, si bien que le cluster continue de se resserrer après notre départ. Associée à de la capacité spot pour les travaux qui tolèrent une reprise, c'est là que les remises de 70 à 90 % par unité cessent d'être une diapositive pour devenir la facture.
Karpenter tourne en production sur EKS et AKS. Il n'a ni provider OVHcloud ni provider Scaleway, et nous le disons avant que vous posiez la question plutôt qu'après signature. Sur ces plateformes nous y arrivons par le cluster autoscaler managé, réglé sur une conception de node pools qui reflète votre vrai mélange de charges, un rightsizing piloté par la consommation mesurée au lieu de valeurs par défaut héritées, et de la capacité préemptible là où c'est sûr. La mécanique diffère ; la discipline et, le plus souvent, le résultat non.
Sous ces deux chemins se trouvent les deux couches qui décident si tout cela dure. OpenCost attribue la dépense réelle jusqu'au namespace, au contrôleur et au pod, et l'exporte vers Prometheus : le coût s'affiche sur les mêmes tableaux de bord que la latence et trouve un propriétaire plutôt qu'un tableur. Les policies Kyverno tiennent la ligne sous forme de code : pas de workload sans requests, pas de famille d'instances que vous avez décidé de ne pas payer, pas de label d'équipe manquant. Chacun de ces contrôles est une pull request relue et réconciliée par Argo CD — c'est ce qui distingue une économie qui tient d'un grand nettoyage héroïque qui s'érode au trimestre suivant.
Schéma illustratif, hors télémétrie réelle
Outils de cet engagement
Outils de cet engagement
- Kubernetes
- Karpenter
- OpenCost
- Prometheus
- Kyverno
- Argo CD
De l'audit à la production
- 01
Inform
Déployer l'attribution et lire les vrais chiffres : dépense par namespace et par workload, ratio requests/consommation, capacité inactive, et les environnements que personne n'a regardés depuis des mois.
- 02
Rightsizing
Fixer requests et limits sur la consommation mesurée plutôt que sur des suppositions héritées, en mode recommandation d'abord pour que rien ne bouge avant que les chiffres soient compris.
- 03
Autoscaling et spot
Introduire Karpenter avec consolidation et une politique spot calibrée sur la tolérance des charges — ou un autoscaler managé bien réglé là où Karpenter n'a pas de provider — une fois les disruption budgets validés.
- 04
Gouvernance as code
Encoder les garde-fous dans Kyverno et le dépôt de la plateforme pour que la posture de coût soit relue, réconciliée et auditable plutôt que mémorisée.
- 05
Operate
Transmettre les tableaux de bord, la responsabilité par équipe et l'alerting sur anomalies, pour que la boucle tourne sans nous et que le gain ne s'érode pas.
Écosystèmes, outillage et livrables
| Écosystèmes cibles |
|
|---|---|
| Outillage |
|
| Livrables |
|
| Prérequis |
|
Réponses directes
Questions fréquentes
Qu'est-ce que le FinOps Kubernetes, concrètement ?
Le FinOps Kubernetes consiste à rendre la dépense d'un cluster visible, réductible et durable. Il suit la boucle Inform, Optimize, Operate de la FinOps Foundation : attribuer la dépense aux équipes et aux applications qui la génèrent, agir sur le gaspillage que cette attribution révèle, puis inscrire la discipline dans la plateforme pour que les gains ne s'érodent pas. Sur Kubernetes c'est un travail précis — requests et limits, politique d'autoscaling, capacité spot, attribution des coûts par namespace — pas une revue générique de facture cloud.
Pourquoi Karpenter plutôt que le cluster autoscaler ?
Le cluster autoscaler fait varier des groupes de nœuds définis à l'avance : vos économies sont donc plafonnées par la qualité de votre pari initial sur les types d'instances. Karpenter provisionne des nœuds taillés pour les pods réellement en attente, en choisissant type, taille et mode d'achat par charge de travail, et il consolide — il détecte que les mêmes pods tiendraient sur des nœuds moins chers ou moins nombreux et reconstruit la flotte en conséquence. C'est cette boucle de consolidation qui produit l'essentiel du gain récurrent, parce qu'elle continue de travailler après la mission. La contrepartie est le churn : les nœuds sont remplacés plus souvent, donc les PodDisruptionBudgets et l'arrêt gracieux doivent être corrects avant de l'activer.
Nous sommes sur OVHcloud ou Scaleway. Karpenter fonctionne-t-il ?
Non, et nous préférons le dire d'emblée. Karpenter dispose de providers de production pour AWS et Azure ; il n'existe pas de provider OVHcloud ni Scaleway. Sur ces plateformes le travail de coût est la même discipline avec une mécanique différente : le cluster autoscaler managé réglé sur une conception réaliste des node pools, un rightsizing piloté par la consommation mesurée plutôt que par des valeurs par défaut héritées, et de la capacité spot ou préemptible là où la charge tolère une reprise. Les couches d'attribution et de gouvernance — OpenCost, policy as code — sont agnostiques du fournisseur et se comportent à l'identique. D'après notre expérience, le rightsizing seul rapporte généralement plus que le choix de l'autoscaler : le chemin OVHcloud et Scaleway n'est donc pas un lot de consolation.
Comment surveiller les coûts Kubernetes après la mission ?
Le coût devient un signal sur les mêmes tableaux de bord que le reste. OpenCost, projet CNCF, attribue la dépense cloud réelle jusqu'au namespace, au contrôleur et au pod ; nous l'exportons vers Prometheus pour que le coût soit à côté de la latence et du taux d'erreur, et non dans un outil financier que personne dans l'équipe n'ouvre. Vous obtenez une dépense par namespace avec un propriétaire, des alertes sur les anomalies de coût et le pourcentage de ressources inactives, et un chiffre mensuel que chaque équipe reconnaît comme le sien. C'est la visibilité avec responsabilité qui empêche la facture de remonter.
Quelle place pour le GitOps dans l'optimisation des coûts Kubernetes ?
C'est ce qui rend le gain durable plutôt que saisonnier. La politique d'autoscaling, les requests, les définitions de NodePool et les garde-fous de coût vivent dans le même dépôt que le reste de la plateforme, réconciliés par Argo CD. Un changement de posture de coût est une pull request relue avec sa trace d'audit, pas une modification console que quelqu'un oublie. La policy as code avec Kyverno tient la ligne en dessous : refuser les workloads sans requests, bloquer les familles d'instances que vous avez décidé de ne pas payer, exiger le label d'équipe dont dépend l'attribution.
Les missions spécialisées sur le sujet
- CN-01 Conseil Cloud-Native & Expertise Kubernetes Nous livrons un Kubernetes qui tient face au trafic réel, aux pannes réelles et aux audits réels. Découvrir
- OPS-04 Infogérance Cloud Nous tenons votre plateforme à ses SLO pendant que votre équipe construit, 24h/24. Découvrir
- PE-02 Conseil Platform Engineering Nous transformons votre infrastructure en un produit que les ingénieurs choisissent, au lieu de le contourner. Découvrir