- Architecte
- Concevoir une plateforme
Comment ça marche
Mesure la consommation réelle (p95 par conteneur), déclare deploy.resources.reservations (ce que l'ordonnanceur compte) un peu au-dessus et des limites (ce que le noyau impose) au-delà. Garde une part de chaque nœud pour le système. Vérifie ensuite N+1 : le cluster privé de son plus gros nœud doit encore tenir toutes les réservations, sinon des répliques resteront Pending pendant un incident. La capacité a aussi un prix : la marge est ce que tu paies pour la promesse.
Ce qui casse
Sans réservations, Swarm répartit les tâches par nombre : un petit nœud reçoit autant de répliques qu'un gros, swappe, et le noyau tue le plus gros processus quand mémoire et swap sont épuisés. Des réservations égales à la consommation surchargent encore les nœuds, car la mémoire du système n'est pas dans le budget du nœud. Un cluster dimensionné pour les jours normaux perd des répliques, ou swappe, le jour où un nœud tombe.
Dans compose.yaml
services:
search:
deploy:
replicas: 4
resources:
reservations:
memory: 1600M
limits:
memory: 2G
Regarde-le casser, puis répare-le
Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.