Taint e toleration
Mecanismo do Kubernetes: um taint em um nó repele todos os pods que não tenham uma toleration correspondente. É o inverso da node affinity (o pod escolhe o nó) — o taint é o jeito de o nó recusar pods.
Três efeitos: NoSchedule (bloqueia novos pods), PreferNoSchedule (suave) e NoExecute (expulsa até os pods já em execução). Uso clássico: os nós do control plane têm o taint node-role.kubernetes.io/control-plane:NoSchedule → só componentes do sistema com toleration rodam ali. Nós de GPU com um taint de GPU → só pods de ML que sabem o que estão fazendo. No autoscaler de nuvem: instâncias spot podem ter um taint para que só cargas tolerantes a falhas caiam nelas. O Karpenter usa taints à vontade para criar nós por workload. Simplifica o isolamento de recursos sem precisar de clusters separados.