
CAST AI automatise l’optimisation des ressources Kubernetes via une boucle de contrôle : observer l’usage réel, calculer des recommandations, et les appliquer au bon moment. Ce guide vous donne le modèle mental pour comprendre comment CAST AI fonctionne, avant de l’installer.
Ce que vous apprendrez :
- Pourquoi les requests/limits Kubernetes coûtent cher
- Le modèle mental CAST AI en 3 étapes
- La différence entre CAST AI Full et Anywhere
- L’architecture : SaaS (control plane) vs composants in-cluster
Pourquoi Kubernetes coûte cher
Section intitulée « Pourquoi Kubernetes coûte cher »Le vrai problème n’est pas Kubernetes lui-même, mais la façon dont on configure les ressources.
Le piège des requests/limits
Section intitulée « Le piège des requests/limits »Kubernetes demande de définir des requests (ressources garanties) et des limits (plafond) pour chaque conteneur. En pratique :
| Ce qu’on fait | Pourquoi | Conséquence |
|---|---|---|
| Requests élevées “par sécurité” | Peur des OOM ou du throttling | Ressources réservées mais non utilisées |
| Copier-coller de valeurs existantes | Pas le temps d’analyser | Valeurs arbitraires, souvent surdimensionnées |
| Laisser les défauts | Pas de config = BestEffort | Pods évictés en premier sous pression |
Résultat : l’utilisation réelle est souvent 30 à 70% inférieure aux ressources allouées. Vous payez pour de la capacité inutilisée.
Ce que CAST AI change
Section intitulée « Ce que CAST AI change »Au lieu de deviner les bonnes valeurs, CAST AI :
- Observe l’utilisation réelle sur plusieurs jours
- Calcule des recommandations basées sur des percentiles + marge de sécurité
- Applique ces recommandations automatiquement (ou les propose)
Le modèle mental en 60 secondes
Section intitulée « Le modèle mental en 60 secondes »CAST AI fonctionne comme une boucle de contrôle verticale :
Les 3 étapes
Section intitulée « Les 3 étapes »Quoi : CAST AI collecte les métriques CPU et mémoire de chaque pod via metrics-server.
Comment : L’agent in-cluster envoie les données à l’API CAST AI. L’historique est conservé pour analyse.
Durée : L’observation continue tant que le workload existe. Plus l’historique est long, plus les recommandations sont fiables.
Quoi : CAST AI calcule des valeurs optimales basées sur l’historique d’utilisation.
Comment :
- Pour CPU : percentile configurable (P50 à P99) + overhead de sécurité
- Pour mémoire : valeur maximale observée + overhead
Confiance : CAST AI indique un niveau de confiance (low → full) selon la quantité de données. Plus la confiance est élevée, plus l’optimisation est agressive ; voir Recommendation confidence.
Quoi : Les nouvelles valeurs de requests/limits sont injectées dans les pods.
Comment : Via un webhook d’admission (pod-mutator) qui modifie les pods à leur création.
Modes :
- Recommandation seule : vous décidez d’appliquer ou non
- Automatique immédiat : application dès qu’une recommandation est prête
- Automatique différé : application au prochain redéploiement naturel
Architecture : où tourne quoi ?
Section intitulée « Architecture : où tourne quoi ? »Quand vous installez CAST AI, vous vous demandez peut-être : “Qu’est-ce qui tourne chez eux ? Qu’est-ce qui tourne chez moi ? Ont-ils accès à mes données ?”
Réponse courte : CAST AI ne peut pas modifier vos workloads directement depuis Internet. L’architecture est conçue pour que vous gardiez le contrôle.
Le SaaS (chez CAST AI)
Section intitulée « Le SaaS (chez CAST AI) »Pensez au SaaS comme à un tableau de bord centralisé. Il vous permet de :
- Voir tous vos clusters et workloads sur une interface unique
- Consulter les recommandations et les économies réalisées
- Configurer les policies de scaling (agressif, conservateur, etc.)
Ce que le SaaS ne fait PAS : il n’a pas d’accès direct à votre cluster. Il ne peut pas créer, modifier ou supprimer vos pods. Il se contente d’envoyer des instructions aux composants qui tournent dans votre cluster.
Les composants dans votre cluster
Section intitulée « Les composants dans votre cluster »L’installation CAST AI déploie quelques pods dans un namespace dédié (castai-agent). Chaque composant a un rôle précis :
-
L’agent collecte les métriques d’utilisation (CPU, mémoire) et les envoie au SaaS. C’est un “reporter” qui observe mais ne modifie rien.
-
Le workload-autoscaler calcule les recommandations en local. Il décide combien de CPU/mémoire chaque workload devrait avoir, basé sur les données historiques.
-
Le pod-mutator est un webhook d’admission. Quand un pod démarre, Kubernetes lui demande : “Est-ce que je dois modifier quelque chose ?”. Le mutator répond : “Oui, utilise ces nouvelles valeurs de requests/limits.”
-
L’evictor (facultatif) déplace les pods vers des nœuds moins remplis pour libérer des nœuds sous-utilisés.
En résumé
Section intitulée « En résumé »Flux de données : Votre cluster → Agent → SaaS (métriques). SaaS → Instructions → Composants in-cluster → Modifications.
Vous gardez le contrôle : le SaaS donne des ordres, mais ce sont vos composants in-cluster qui les exécutent. Si vous coupez la connexion au SaaS, les composants continuent avec leur dernière configuration.
Workload Autoscaler : le cœur de l’optimisation
Section intitulée « Workload Autoscaler : le cœur de l’optimisation »Le Workload Autoscaler est le composant qui fait le travail d’optimisation. Si vous connaissez le VPA (Vertical Pod Autoscaler) de Kubernetes, c’est le même principe — mais en mieux intégré.
Pourquoi pas le VPA standard ?
Section intitulée « Pourquoi pas le VPA standard ? »Le VPA Kubernetes natif fonctionne, mais il a des limitations pratiques :
- Il faut redémarrer les pods pour appliquer les nouvelles valeurs
- Chaque workload nécessite sa propre configuration (CRD
VerticalPodAutoscaler) - Pas de vue multi-cluster, pas de dashboard centralisé
- Si un pod fait un OOM, c’est à vous de réagir
CAST AI Workload Autoscaler résout ces problèmes. Il peut appliquer les recommandations sans restart (mode différé), gère automatiquement les OOM, et centralise tout dans une console. Vous configurez des policies (agressif, conservateur, etc.) plutôt qu’un CRD par workload.
Le niveau de confiance : pourquoi CAST AI hésite parfois
Section intitulée « Le niveau de confiance : pourquoi CAST AI hésite parfois »Quand vous déployez un nouveau workload, CAST AI ne le connaît pas encore. Il n’a pas d’historique pour savoir si ce pod consomme beaucoup pendant les pics ou reste stable.
Dans ce cas, CAST AI affiche un niveau de confiance “Low” et reste prudent. Il ne va pas réduire les requests de moitié dès le premier jour.
Après quelques jours d’observation (typiquement 24h minimum, idéalement plusieurs jours), le niveau passe à “Full”. CAST AI a maintenant assez de données pour optimiser agressivement selon votre policy.
Pourquoi c’est important : cette prudence évite de casser un workload critique parce qu’on a sous-estimé ses besoins réels. Documentation confidence
Pod Mutations : configurer sans toucher aux manifests
Section intitulée « Pod Mutations : configurer sans toucher aux manifests »Pod Mutations est une fonctionnalité distincte du Workload Autoscaler. Elle permet d’activer ou configurer des comportements via annotations injectées automatiquement, sans modifier vos fichiers YAML source.
Cas d’usage
Section intitulée « Cas d’usage »- Activer l’autoscaling sur tous les workloads d’un namespace sans modifier chaque Deployment
- Ajouter des labels de monitoring automatiquement
- Configurer des defaults à grande échelle
Choisir un mode d’application
Section intitulée « Choisir un mode d’application »Quand CAST AI génère une recommandation, vous avez trois options pour l’appliquer :
CAST AI observe et recommande, mais vous décidez d’appliquer ou non.
C’est le mode par défaut. Vous consultez les recommandations dans la console ou via l’API, puis vous choisissez de les appliquer manuellement ou via votre pipeline CI/CD.
Idéal pour : démarrer avec CAST AI, valider que les recommandations sont pertinentes avant d’automatiser.
Application dès qu’une recommandation est prête, même si le pod tourne.
CAST AI déclenche un restart du pod pour injecter les nouvelles valeurs de requests/limits. C’est rapide, mais ça peut causer une courte interruption.
Idéal pour : environnements de dev/test, workloads non critiques où un restart n’est pas grave.
Attend un restart naturel du pod (déploiement, rolling update, crash) pour appliquer.
Les recommandations sont prêtes, mais CAST AI ne force aucun restart. Au prochain redéploiement de votre application, les nouvelles valeurs seront injectées automatiquement.
Idéal pour : production, workloads critiques où vous ne voulez aucune disruption ajoutée par CAST AI.
La configuration se fait via scaling policies (globales) ou annotations (par workload). Documentation configuration
Mécanismes de protection
Section intitulée « Mécanismes de protection »CAST AI inclut des garde-fous pour éviter les incidents :
Gestion des OOM
Quand un pod est tué pour manque de mémoire, CAST AI détecte l’événement et augmente automatiquement l’overhead mémoire. Une nouvelle recommandation est générée. Si les OOM se répètent, l’optimisation est temporairement pausée.
Gestion des pics (surges)
Quand l’utilisation dépasse significativement la recommandation, CAST AI raccourcit la période d’analyse pour se concentrer sur les données récentes et génère rapidement une recommandation plus conservatrice.
Ces mécanismes sont documentés dans la section Workload Autoscaling mais les seuils exacts peuvent varier selon les versions.
À retenir
Section intitulée « À retenir »- CAST AI = boucle de contrôle : Observer → Recommander → Appliquer
- Anywhere fonctionne sur tous les clusters, optimise les workloads (pas les nodes)
- SaaS (console/API) ≠ In-cluster (agent, controller, autoscaler, mutator)
- Confidence : CAST AI est prudent avec peu de données, agressif avec beaucoup
- Pod Mutations : injecter des configs sans modifier vos manifests
- Modes d’application : recommandation seule, immédiat (restarts), ou différé (zéro disruption)
- Protections automatiques : OOM et surges sont gérés
Prochaines étapes
Section intitulée « Prochaines étapes »Ressources
Section intitulée « Ressources »- CAST AI Anywhere Overview — Vue d’ensemble officielle
- Workload Autoscaling Overview — Fonctionnement détaillé
- Kubernetes Permissions — RBAC des composants
- Workload Autoscaler Configuration — Options de configuration
- Pod Mutations Quickstart — Activer les mutations