Taints y tolerations en Kubernetes

| Última modificación: 8 de noviembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Kubernetes es una plataforma que se encarga de la gestión de las cargas de trabajo y servicios que destaca dentro del sector tecnológico como una de las más útiles, gracias a sus múltiples recursos y funciones. Dentro de estas opciones, se encuentran las herramientas de taints y tolerations en Kubernetes, que se definen como un mecanismo encargado de garantizar que los recursos de pods del sistema no sean asignado en nodos que no resulten adecuados.

De manera que las opciones de taints y tolerations en Kubernetes resultan de gran ayuda para el cumplimiento de varias de las labores de la plataforma. Por eso, en este post, te enseñaremos qué son, así como cuáles son sus características y usos más importantes en el sistema.

¿Qué son los taints y tolerations en Kubernetes?

Las opciones de taints y tolerations en Kubernetes se definen como unas herramientas de la plataforma que trabajan en conjunto con el objetivo de asegurar que los pods del sistema no se programen en recursos de nodos que no sean adecuados.

De modo que es posible aplicar uno o más taints a un nodo en específico, lo que implica que este nodo no debería tener la capacidad de aceptar alguno que no pueda tolerar esas taints establecidas.

Algunos de los casos de uso donde se pueden implementar los recursos de taints y tolerations en Kubernetes son:

  • Casos donde en el Master no se ejecute ningún recurso de pod, a excepción de aquellos que sean directamente del sistema.
  • Un grupo de nodos dedicados a una aplicación o a un grupo de usuarios determinados.
  • Casos donde los pods normales no usen nodos que tengan un hardware especial. Esto se debe a que es conveniente para el sistema que se puedan mantener los pods que no requieren de estos hardware especializado fuera de los nodos, para que se pueda dejar un espacio para los pods que lleguen de manera posterior.

Características de taints y tolerations en Kubernetes

Las opciones de taints y tolerations en Kubernetes cuentan con un conjunto de propiedades y elementos que los caracterizan y permiten que realicen sus funciones de manera eficiente dentro de la plataforma.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Se debe tener en cuenta que, aunque los conceptos de taints y tolerations en Kubernetes trabajan de forma conjunta, pueden ser definidos y caracterizados de manera individual, como definimos a continuación:

Taints en Kubernetes

La herramienta de taints en Kubernetes se define como la opción que permite a los nodos repeler pods. Esto resulta contrario a la función del recurso node affinity, debido a que este tiene la función de atraer nodos a los pods.

También es importante tener en cuenta que, cuando un determinado nodo tiene un taint, es necesario que el pod asociado tenga un toleration que le permita aceptar el taint concreto.

Los taints en Kubernetes tienen, además, la propiedad de producir tres posibles efectos en la plataforma, siendo estos:

  • NoSchedule: esta opción indica que solo se permitirá la programación de recursos de pods que contengan opciones tolerations para los nodos que incluyan taints.
  • PreferNoSchedule: la plataforma intentará evitar la programación de pods que no tengan tolerations para los nodos con taints.
  • NoExecute: este efecto significa que Kubernetes se encargará de expulsar los pods que estén siendo ejecutados en los nodos, en caso de que los pods no incluyan opciones de tolerations para los nodos con taints.

Tolerations en Kubernetes

En el caso del recurso de tolerations en Kubernetes, se puede agregar que se refiere a una opción que puede aplicarse a los pods y permiten ser asignados (pero no requieren) en nodos con taints coincidentes.

¿Cuál es el siguiente paso?

En este artículo has podido conocer qué son las opciones de taints y tolerations en Kubernetes, así como sus características y usos más importantes dentro de la plataforma. Ahora, si ya has llegado hasta aquí es porque te interesa profundizar y seguir aprendiendo acerca de esta y otras herramientas del sector tecnológico, por eso, no dudes en dar el siguiente paso y apúntate al DevOps & Cloud Computing Full Stack Bootcamp.

Gracias a este bootcamp y sus profesores expertos en la materia, te llevará menos de 6 meses conocer todo lo necesario para convertirte en un profesional tecnológico y destacar en un mundo tan competitivo y demandado como el sector IT. ¡Anímate a dar el siguiente paso e inscríbete para continuar con tu proceso de formación!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado