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/