Topology spread constraint
Un meccanismo di Kubernetes per distribuire i pod in modo uniforme tra i domini di topologia (nodi, zone, regioni). Più moderno e granulare dell'anti-affinity: si indica quanto squilibrio («skew») si tollera, invece del semplice «stesso/non stesso».
Il meccanismo: si imposta un maxSkew (quale differenza nel numero di pod tra i domini è accettata), una topology key (per esempio la zona) e cosa deve accadere se il requisito non può essere soddisfatto (DoNotSchedule = rigido, ScheduleAnyway = morbido). Lo scheduler colloca i nuovi pod in modo che la distribuzione resti entro il limite di skew.
Il vantaggio rispetto all'anti-affinity: invece del binario «mai due sullo stesso nodo» si ottiene «mantieni la distribuzione più o meno uniforme tra le zone», con migliore bilanciamento e disponibilità, soprattutto tra zone di guasto. Caso d'uso: far sì che le repliche di un deployment si distribuiscano su tre availability zone, così che l'interruzione di una zona ne colpisca solo un terzo. Il meccanismo moderno raccomandato per la distribuzione in alta disponibilità. Imparentato con pod affinity e node affinity.