Aller au contenu
Conteneurs & Orchestration high

CAST AI : concepts et architecture

11 min de lecture

logo cast AI

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

Le vrai problème n’est pas Kubernetes lui-même, mais la façon dont on configure les ressources.

Kubernetes demande de définir des requests (ressources garanties) et des limits (plafond) pour chaque conteneur. En pratique :

Ce qu’on faitPourquoiConséquence
Requests élevées “par sécurité”Peur des OOM ou du throttlingRessources réservées mais non utilisées
Copier-coller de valeurs existantesPas le temps d’analyserValeurs arbitraires, souvent surdimensionnées
Laisser les défautsPas de config = BestEffortPods é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.

Au lieu de deviner les bonnes valeurs, CAST AI :

  1. Observe l’utilisation réelle sur plusieurs jours
  2. Calcule des recommandations basées sur des percentiles + marge de sécurité
  3. Applique ces recommandations automatiquement (ou les propose)

CAST AI fonctionne comme une boucle de contrôle verticale :

Boucle de contrôle CAST AI

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.

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.

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.

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.

Architecture CAST AI

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é.

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.

  • 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

Documentation Pod Mutations

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.

La configuration se fait via scaling policies (globales) ou annotations (par workload). Documentation configuration

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.

  • 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

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.