glossaire

Classes QoS (Kubernetes)

Kubernetes classe chaque pod dans l’une de trois catégories de qualité de service (QoS), déduites automatiquement de ses requests et limits, jamais déclarées directement. Cette classe ne devient visible que sous pression : c’est elle qui détermine l’ordre d’éviction quand un nœud manque de mémoire.

Les trois classes

Guaranteed : chaque conteneur du pod fixe requests égal à limits, pour le CPU et la mémoire. Le pod reçoit la meilleure protection, évincé en dernier. Burstable : au moins une request ou une limit est posée, sans atteindre les conditions de Guaranteed, la classe la plus courante en pratique. BestEffort : aucune request ni limit définie nulle part. Le pod est le premier candidat à l’éviction, quelle que soit son importance réelle pour le service.

Pourquoi ça n’est pas cosmétique

Un pod BestEffort n’est pas juste « moins prioritaire » en théorie : sous pression mémoire réelle, le kubelet évince dans cet ordre précis, classe par classe. Un service critique dont personne n’a pris le temps de poser de requests se retrouve, sans le savoir, dans la catégorie évincée en premier, souvent découvert au pire moment, pendant un incident où le nœud est déjà sous tension.