veilletech.fr
6 oct. Feed du jour
#04 DEVOPS Article

Kubernetes : du swap NVMe, trois fois plus de pods

La mémoire qui dort peut aller sur le disque. Celle qui travaille, non.

Le blog de Kubernetes publie des mesures du swap des nœuds, stable depuis la 1.34, adossé à des SSD NVMe locaux. Sur des bacs à sable d'agents, la densité double pour des Chrome headless sous gVisor et triple pour des sandbox Python ; une compilation du noyau tient dans deux fois moins de mémoire. Quand le jeu de travail actif part en swap, en revanche, les temps s'envolent.

3 min de lectureavancévidéo 1:19
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Pourquoi le swap redevient fréquentable
  3. Les mesures
  4. Comment l'activer
  5. Les limites
  6. À retenir

Ce qui se passe

Le blog officiel de Kubernetes publie des mesures du swap des nœuds — fonctionnalité stable depuis Kubernetes 1.34 — placé sur des SSD NVMe locaux. Trois familles de charges ont été testées : une compilation de type CI, des navigateurs headless isolés, des bacs à sable Python.

La cible est explicite : les sandbox d'agents (projet kubernetes-sigs/agent-sandbox), qui réclament beaucoup de mémoire pour démarrer et exécuter du code non fiable, puis restent inactives en attendant la requête suivante. De la mémoire résidente qui ne travaille pas, et qui plafonne le nombre de pods par nœud.

Pourquoi le swap redevient fréquentable

Deux raisons le faisaient proscrire :

Les mesures

Charge Sans swap Avec swap sur SSD local
Compilation Linux 6.1.1 limite 600 Mo limite 300 Mo
Chrome headless, Kata Containers 40 pods 50 pods (+25 %)
Chrome headless, gVisor 80 pods 160 pods (×2)
Sandbox Python, gVisor 80 pods 240 pods (×3)

Comment l'activer

Côté kubelet (Kubernetes 1.34 ou plus récent) :

YAML
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
failSwapOn: false
memorySwap:
  swapBehavior: LimitedSwap

Ensuite :

  1. placer le swap sur un disque local rapide — sur GKE, la fonction Node Memory Swap avec un profil Local SSD ;
  2. déclarer les pods en QoS Burstable, limite mémoire au-dessus de la requête. Valeurs d'exemple :
YAML
resources:
  requests:
    memory: "256Mi"
  limits:
    memory: "1Gi"

Les limites

Source : Scaling Kubernetes Workloads with Node Swap, blog Kubernetes, 5 octobre 2026. Bancs et code : agent-sandbox/examples/gke-swap.