Bloque 2. Introducción.

En este bloque, exploraremos las herramientas y mecanismos que Kubernetes proporciona para gestionar la programación de aplicaciones y la distribución eficiente de las cargas de trabajo. Desde realizar actualizaciones sin interrupciones hasta gestionar el escalado automático y la autorreparación de las aplicaciones, cada sección te proporcionará habilidades prácticas para implementar y administrar aplicaciones en un entorno de producción.

 Para ello nos enfocaremos en dos áreas clave: Cargas de trabajo (Workloads) y Programación (Scheduling). Estos conceptos son esenciales para comprender cómo las aplicaciones se despliegan, actualizan y escalan dentro de un clúster de Kubernetes. Además, veremos cómo Kubernetes gestiona los recursos de hardware disponibles, asignando tareas a los nodos más adecuados de manera eficiente.

Conceptos clave: Programación y Cargas de Trabajo

1. Programación (Scheduling)

En Kubernetes, el Scheduler es el componente que decide en qué nodo se debe ejecutar un pod. Toma en cuenta los recursos disponibles, las restricciones definidas en los pods, como etiquetas, tolerancias y afinidades, y asegura que los pods sean asignados de manera óptima a los nodos. El Scheduler garantiza que las aplicaciones funcionen sin problemas, aprovechando eficientemente los recursos del clúster.

2. Cargas de Trabajo (Workloads)

En Kubernetes, las Cargas de Trabajo son los objetos que representan aplicaciones en ejecución dentro de un clúster. Estos objetos incluyen:

  • Pods: Un pod es la unidad básica de ejecución en Kubernetes. Es un contenedor o grupo de contenedores que comparten un contexto de red y almacenamiento.

  • Deployments: Administran la replicación y el ciclo de vida de los pods, permitiendo actualizaciones sin tiempo de inactividad mediante rolling updates.

  • StatefulSets: Son similares a los deployments, pero están diseñados para aplicaciones que requieren un almacenamiento persistente y un orden específico en la creación y eliminación de los pods.

  • DaemonSets: Garantizan que una copia de un pod se ejecute en cada nodo del clúster.

  • Jobs y CronJobs: Ejecutan tareas una sola vez (Jobs) o de manera programada (CronJobs).

Comentarios