Tema 3: Taints, tolerations y affinity
Base oficial: (The Kubernetes Authors, 2026b, 2026a). Mi versión de trabajo: Taints repelen Pods. Tolerations permiten que Pods acepten esa repulsión. Affinity atrae o separa por labels.
Modelo mental
Taints repelen Pods. Tolerations permiten que Pods acepten esa repulsión. Affinity atrae o separa por labels.
Notas
- Toleration es permiso, no solicitud de ubicación.
- Affinity y anti-affinity pueden codificar relaciones entre workloads.
- Demasiadas reglas de ubicación crean misterio unschedulable.
Ángulo homelab
Reserva nodos especiales de forma deliberada: storage, GPU, ingress o control-plane.
Cómo verificarlo
- Lee el status del objeto antes de cambiar el manifest.
- Revisa events para encontrar el controlador o nodo que realmente se queja.
- Confirma que la fuente oficial abajo todavía coincide con la versión del cluster que corres.
Modos de falla comunes
- Tratar el objeto YAML como el sistema, en vez de verlo como una entrada a un loop de reconciliación.
- Debuggear desde fuera del cluster cuando la falla solo existe dentro de networking o estado de nodo.
- Olvidar que versión de Kubernetes, versión de addon y comportamiento de runtime están conectados.
Fuentes
- Taints and Tolerations - ruta fuente:
content/en/docs/concepts/scheduling-eviction/taint-and-toleration.md, commit 8cc9e19b8eec8d5cf49eacd66f86a81648edb1a0. - Assigning Pods to Nodes - ruta fuente:
content/en/docs/concepts/scheduling-eviction/assign-pod-node.md, commit 8cc9e19b8eec8d5cf49eacd66f86a81648edb1a0. - La documentación de Kubernetes usa licencia CC BY 4.0; estas notas son comentario original y enlazan a la fuente oficial.
The Kubernetes Authors. (2026a). Assigning Pods to Nodes. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
The Kubernetes Authors. (2026b). Taints and Tolerations. https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/