¿Qué es kube-scheduler en Kubernetes?

Autor: | Última modificación: 24 de mayo de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Kubernetes es una plataforma que se utiliza para la gestión de cargas de trabajo y servicios y que tiene una gran popularidad dentro de la comunidad de desarrolladores y programadores del sector IT. Para entender esta herramienta y hacer un mejor uso de la misma, es necesario conocer cuáles son sus opciones principales y cómo implementaras; así, por ejemplo, Kubernetes cuenta con kube-scheduler o programador, que se encarga de la asignación de los recursos pods a nodos. Esta opción es de gran importancia para Kubernetes y sus labores, por eso, en este artículo, te enseñaremos qué es kube-scheduler, cuáles son sus propiedades y cómo usarlo.

¿Qué es kube-scheduler?

Kube-scheduler o programador de Kubernetes es la opción que se encarga de «estar atento» a nuevos componentes que se desplieguen en el interior del clúster del sistema.

De manera que este programador observa los pods que se hayan creado recientemente en el sistema y que no cuenten aún con un nodo asignado. Por lo que el kube-scheduler asumirá la labor de encontrar el nodo que más se ajuste y permita la ejecución correcta de este pod en el sistema.

Esto quiere decir que el kube-scheduler decide qué nodos pueden utilizarse como ubicaciones válidas para cada uno de los pods que estén en la cola de programación. Esta decisión de los nodos se toma basándose en los recursos disponibles en el sistema, las opciones de configuración de cada componente que se va a desplegar y las restricciones que este tenga.

De manera que el scheduler o programador se encarga de hacer la clasificación de los nodos que san válidos para usar como ubicación del pod y, después, vincula a este último al nodo más adecuado.

Características de kube-scheduler

La opción de kube-scheduler se caracteriza por ser el programador preestablecido para la plataforma de Kubernetes, donde se ejecuta como parte del control plane, es decir, la capa de orquestación de los contenedores en el sistema.

El sistema del programador kube-scheduler se caracteriza, además, por permitir que los usuarios puedan realizar la escritura de su propio componente de programación y usarlo en Kubernetes.

🔴 ¿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

Aunque kube-scheduler se encarga de seleccionar el mejor nodo para ejecutar pods recién creados o no asignados, se debe tener en cuenta que cada uno de los contenedores incluidos en los pods cuenta con una serie de requisitos de recursos, y cada pod en sí mismo tiene también sus propios requerimientos. Esto implica que todos los nodos existentes en la plataforma y disponibles para alojar el pod deben filtrarse teniendo en cuenta los requisitos de programación especificados para cada pod y sus recursos.

Los nodos que cumplan con los requerimientos de un pod determinado es llamado fasible node o nodo factible. Si se da el caso de que ninguno de los nodos disponible sea ideal para un pod, este permanecerá en el sistema sin programar hasta que se pueda ubicar.

Kube-scheduler se encarga, pues, de hallar estos nodos factibles para un pod para, posteriormente, llevar a cabo un proceso de ejecución de funciones que permite la puntuación de los nodos seleccionados y, así, poder elegir el nodo que tenga la puntuación más alta entre los nodos factibles, es decir, aquel que se ajuste mejor a los requerimientos del pod.

Finalmente, kube-sheduler se encarga de notificarle al servidor API esta decisión mediante el proceso llamado binding.

¿Cuál es el siguiente paso?

En este artículo has podido conocer qué es el programador kube-scheduler, para qué sirve y cuáles son sus características. Ahora, si te interesa ir más allá y profundizar acerca de esta y otras herramientas de Kubernetes y el mundo tecnológico y de computación, no dudes en dar el siguiente paso e inscríbete en nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde en menos de 6 meses te convertirás en un experto. En este bootcamp, podrás aprender todo lo necesario para obtener una ventaja competitiva en el sector IT gracias a la formación de alta calidad. ¡Solicita información ahora y anímate a inscribirte en nuestro bootcamp para no parar de aprender!

[email protected]