Pour gérer vos consentements :
Categories: Cloud

FinOps Kubernetes : un modèle QoS à maîtriser

Vos équipes ont-elle bien assimilé les niveaux de service selon lesquels les pods sont classés ? Google Cloud pose la question dans un rapport qu’il consacre à l’optimisation des coûts de Kubernetes.

L’orchestrateur détermine la QoS d’un pod en fonction de ses demandes de ressources (mémoire et CPU) :

– BestEffort : pas de demandes spécifiées, ni de limites
– Burstable : demandes spécifiées ; limites éventuellement précisées
– Guaranteed : mêmes niveaux de demandes et de limites

Si un nœud vient à manquer de ressources, le kubelet tente d’en récupérer. Il stoppe en priorité les pods BestEffort. Ensuite, les Burstable s’ils utilisent plus de mémoire que demandé. Puis, en dernier lieu, les Guaranteed.

Mal maîtrisé, ce mécanisme peut dégrader le fonctionnement de l’orchestrateur. Mais aussi perturber les outils d’estimation des coûts qui ont tendance à se baser sur les demandes de ressources et non sur la consommation réelle.

La limite CPU a moins d’importance : Kubernetes peut adapter la consommation, au prix d’une dégradation de performance.

Les webhooks d’admission en tour de contrôle

Pour repérer et contrôler la présence de pods BestEffort ou de pods Burstable sous-dotés en mémoire, les webhooks d’admission sont une option. Google Cloud évoque aussi Gatekeeper, le contrôleur du projet Open Policy Agent – il l’a d’ailleurs intégré, entre autres, dans son offre Anthos.

Exemple pratique : lorsqu’un merge request ne comporte pas de demande de ressources, un pipeline de validation par les pairs peut s’enclencher. Ou bien un avertissement peut être ajouté en annotation. On peut aussi envisager de créer les pods sur des ressources préemptibles (VM Spot). Ou, pour les workloads tolérant les redémarrages, de recommander ou de forcer l’autoscaling vertical.

Cette maîtrise de la QoS s’assortira du dimensionnement adéquat des workloads. Un élément pas forcément acquis, à en croire Google Cloud : même les utilisateurs qui gèrent correctement la consommation mémoire ont de la marge sur le CPU.

À consulter en complément :

FinOps : une mise en conformité qui peut coûter cher
Le refactoring applicatif Kubernetes, un risque à ne pas négliger
ChatGPT peut-il sécuriser Kubernetes ?

Illustration principale © LuckyStep – Adobe Stock

Recent Posts

IA générative : l’Autorité de la concurrence pointe de sérieux risques

Dans un avis consultatif, l'Autorité de la concurrence a identifié les risques concurrentiels liés à…

2 jours ago

OpenAI signe un accord de contenu avec Time

OpenAI signe un « partenariat de contenu stratégique » avec Time pour accéder au contenu…

2 jours ago

Atos : David Layani (Onepoint) veut sortir du capital

Au lendemain du rejet de sa proposition de restructuration, David Layani annonce sa démission du…

2 jours ago

Évaluer les LLM, un défi : le cas Hugging Face

Après un an, Hugging Face a revu les fondements de son leaderboard LLM. Quels en…

3 jours ago

Mozilla face au dilemme de la GenAI dans Firefox

Mozilla commence à expérimenter divers LLM dans Firefox, en parallèle d'autres initiatives axées sur l'intégration…

3 jours ago

VMware tente d’orienter vers VCF les déploiements pré-Broadcom

VMware met VCF à jour pour y favoriser la migration des déploiements qui, sur le…

4 jours ago