Aller au contenu
EdgeServers
Blog

Six fuites de coût Kubernetes que nous trouvons sur presque chaque cluster

8 mai 2026 · 2 min de lecture · par Sudhanshu K.

Chaque cluster que nous reprenons a les six mêmes fuites de coût. Les chiffres varient ; les fuites sont les mêmes.

1. requests surdimensionnées

Les développeurs définissent requests: 1Gi « au cas où » et ne reviennent jamais le baisser. Le scheduler réserve alors cette mémoire pour le pod même quand il en utilise 80 Mo. Cluster Autoscaler continue de scaler pour satisfaire des réservations que personne n'utilise.

Outils qui aident : Vertical Pod Autoscaler (VPA) en mode recommender, KRR (Krr.io), Goldilocks. Choisissez-en un, faites-le tourner une semaine, baissez les requests par rapport à l'utilisation réelle p99 + 20 %.

2. Namespaces inactifs sans propriétaire

Le dev-tomas-spike-1, le staging-old, le argocd-test. Ils coûtent de l'argent 24/7. Nous balayons chaque mois avec un rapport simple — namespaces sans activité de pod depuis 14 jours — et soit nous récupérons les ressources, soit nous les refacturons à l'équipe propriétaire.

3. Prolifération de snapshots EBS

Chaque cluster que nous auditons a des centaines de snapshots EBS orphelins — vieux snapshots de PVC, sauvegardes ETCD d'un cluster qui n'existe plus, dumps de debug. aws ec2 describe-snapshots plus un filtre d'âge fait généralement remonter 200-2000 $/mois de pur gaspillage.

4. Egress NAT gateway

Les pods qui parlent à S3 via DNS public passent par le NAT gateway et paient l'egress par Go. La solution est les VPC endpoints pour S3 + DynamoDB. Changement de cinq minutes, souvent 500-3000 $/mois économisés.

5. Mauvais mix de node-pools

Tout faire tourner sur m5.large quand la moitié des workloads tiendraient sur t3.medium Spot. Karpenter avec plusieurs pools (on-demand pour le stateful, Spot pour le stateless) réduit souvent le compute de 30-40 %.

6. Load balancer par service par défaut

Chaque type: LoadBalancer provisionne un vrai load balancer cloud à 20+ $/mois. Convertissez vers un ingress controller partagé (NGINX Ingress, Traefik, AWS ALB Ingress Controller). Un cluster avec 30 services voit souvent disparaître 25 LBs.

L'article Medium contient le script d'audit que nous utilisons, ce que nous rapportons mensuellement au client, et ce que nous laissons à eux à corriger par rapport à ce que nous corrigeons en flux.

Article complet disponible

Lire l'article complet