L'article aborde la méconception selon laquelle Kubernetes fournit intrinsèquement une haute disponibilité. Le planificateur de Kubernetes, par défaut, privilégie l'allocation des ressources sur la résilience, plaçant potentiellement toutes les réplicas de pod dans la même zone de disponibilité. Cela peut entraîner des pannes de service si cette zone échoue. L'article énumère ensuite plusieurs outils pour contrôler la planification des pods et améliorer la résilience. Ces outils incluent `nodeSelector`, `nodeAffinity`, `podAntiAffinity`, `taints` et `tolerations`, et `TopologySpreadConstraints` pour assurer une distribution appropriée des pods à travers les zones et les nœuds. `nodeSelector` est simple mais limité, tandis que `nodeAffinity` offre plus de flexibilité avec des placements préférés et requis. `podAntiAffinity` empêche les réplicas multiples de résider sur le même nœud ou zone. `taints` et `tolerations` sont utilisés pour réserver des nœuds spécifiques pour des charges de travail particulières. `TopologySpreadConstraints` assure une distribution uniforme à travers les zones. Enfin, il mentionne `Topology Aware Routing` comme une technologie expérimentale pour optimiser le trafic réseau au sein d'un cluster.
dev.to
Evita la trampa del Scheduling en Kubernetes: Por qué todos tus Pods pueden caer juntos (y cómo evitarlo)
Create attached notes ...
