No description
  • HTML 66.3%
  • Python 20.6%
  • CSS 9.5%
  • Dockerfile 3.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-30 22:59:17 +01:00
build temperaturas backend 2023-03-22 18:31:15 +01:00
exelearning exelearning modulo 8 2026-04-15 17:46:59 +02:00
modulo1 Actualizar enlaces de GitHub a git.josedomingo.org 2026-10-30 22:59:17 +01:00
modulo2 Actualizar enlaces de GitHub a git.josedomingo.org 2026-10-30 22:59:17 +01:00
modulo3 Cambio menor módulo 3 2026-02-19 13:43:41 +01:00
modulo4 Enlaces vídeos módulo 4 2022-02-24 18:13:30 +01:00
modulo5 modulo5 2023-03-23 18:16:39 +01:00
modulo6 Se corrigen dos pequeños 'typos' y el enlace al archivo ingress.yaml 2024-02-16 00:32:58 +01:00
modulo7 Nota sobre mariadb 2026-03-14 16:18:46 +01:00
modulo8 Cambio Recycle por Delete 2026-03-17 12:34:59 +01:00
modulo9 Se corrigen pequeños errores tipográficos 2024-02-25 20:54:49 +01:00
modulo10 Enlaces vídeos módulo 10 2022-02-24 18:36:30 +01:00
LICENSE Cambio de licencia a CC-BY-NC-SA 2021-09-21 12:11:55 +02:00
README.md Cambio título de actividad 2023-03-23 12:06:02 +01:00

Curso Kubernetes

Título del curso

Introducción a Kubernetes

Descripción

En los últimos años se ha ido extendiendo el uso de contenedores como elementos esenciales para el uso de aplicaciones en entornos en producción, tanto más cuanto más variable sea la demanda, la frecuencia con la que se actualizan o la necesidad de que funcionen de forma ininterrumpida.

Gestionar una aplicación sobre contenedores, que pueda actualizarse rápidamente, que sea escalable o tolerante a fallos, es una tarea compleja que se realiza mediante un software específico que recibe el nombre de orquestador de contenedores.

Kubernetes es un software de orquestación de contenedores desarrollado inicialmente por Google, pero que hoy en día es un proyecto libre independiente utilizado en gran cantidad de entornos diferentes y que se ha convertido en muchos casos en la solución preferida para orquestar aplicaciones basadas en contenedores en entornos en producción.

En este curso conoceremos las principales características de Kubernetes y de las aplicaciones más adecuadas para poner en este entorno y comprobaremos de forma práctica la tolerancia a fallos, la escalabilidad de una aplicación o la gestión del versionado y los diferentes enfoques a la hora de hacerlo en entornos en producción, con o sin interrupciones.

Destinatarios

El curso va dirigido a docentes que impartan docencia en ciclos pertenecientes a la familia profesional de informática y que tengan conocimientos previos sobre el manejo de aplicaciones en contenedores.

Requisitos

Este curso es la continuación del curso "Iniciación a los contenedores Docker para el Desarrollo" por lo que en caso de no haber cursado dicho curso, es necesario tener conocimiento de la herramienta docker y comprender las principales características del uso de aplicaciones en contenedores.

Objetivos

El principal objetivo de este curso es conocer la herramienta Kubernetes, el software más extendido actualmente para la puesta en producción de aplicaciones sobre contenedores, haciendo énfasis en la arquitectura de la aplicación, la actualización de versiones, la escalabilidad, etc.

De forma más concreta estos objetivos se pueden enumerar en:

  • Conocer las diferencias entre aplicaciones en función de su arquitectura
  • Conocer Kubernetes y los elementos principales que nos permiten gestionar una aplicación en un entorno en producción
  • Realizar despliegues de aplicaciones sobre Kubernetes utilizando la herramienta kubectl

Contenidos

  1. Introducción a Kubernetes
  2. Instalación de Kubernetes
  3. Contenedores en Kubernetes: Pods
  4. Tolerancia y escalabilidad: ReplicaSets
  5. Despliegues
  6. Acceso a las aplicaciones
  7. Despliegues parametrizados
  8. Almacenamiento en Kubernetes
  9. Otras cargas de trabajo
  10. Instalación de aplicaciones en Kubernetes con Helm

Agenda

Con objeto que los participantes en el curso puedan planificar sus sesiones de trabajo, a modo orientativo se elabora la siguiente Agenda. En la columna “Actividad” se indicará el nombre de la misma. Además, si dicha actividad necesita la revisión del tutor o tutora, se pondrá (T). Bajo la columna "Horas" encontrará el tiempo aproximado que estimamos le llevará realizar cada actividad. La columna "Semana" indica la semana del curso en que debería estar trabajando en la actividad, teniendo en cuenta que se valoran aproximadamente 5-6 horas por semana.

MÓDULO ACTIVIDAD HORAS SEMANA
INICIO 0.1. Guía del curso 30' 1ª
INICIO 0.2. Ayuda para conocer el Aula Virtual 1 h 1ª
INICIO 0.3. Nos presentamos (T) 30' 1ª
MÓD 1 1.1. Teoría. Introducción a kubernetes 1ª
MÓD 2 2.1. Teoría. Instalación de kubernetes 2ª
MÓD 2 2.2. Tarea. Instalación y configuración de minikube y kubectl 2ª
MÓD 3 3.1. Teoría. Contenedores en Kubernetes: Pods 3ª
MÓD 3 3.2. Tarea. Trabajando con Pods 3ª
MÓD 3 3.3. Tarea. Trabajando con un Pod multicontenedor (VOLUNTARIA) --- 3ª
MÓD 4 4.1. Teoría. Tolerancia y escalabilidad: ReplicaSets 4ª
MÓD 4 4.2. Tarea. Trabajando con ReplicaSet 4ª
MÓD 5 5.1. Teoría. Despliegues: Deployments 4ª
MÓD 5 5.2. Tarea. Trabajando con Deployments 4ª
MÓD 5 5.3. Tarea. Actualización y desactualización de nuestra aplicación 4ª
MÓD 5 5.4. Tarea. Despliegue de la aplicación GuestBook 5ª
MÓD 6 6.1. Teoría. Acceso a las aplicaciones: Services 5ª
MÓD 6 6.2. Tarea. Acceso de la aplicación GuestBook 5ª
MÓD 6 6.3. Tarea. Despliegue y acceso de la Aplicación Lets-Chat (VOLUNTARIA) --- 5ª
MÓD 7 7.1. Teoría. Despliegues parametrizados 6ª
MÓD 7 7.2. Tarea. Configurando nuestra aplicación Temperaturas 6ª
MÓD 7 7.3. Tarea. Despliegue y acceso de la aplicación Nextcloud (VOLUNTARIA) --- 6ª
MÓD 8 8.1. Teoría. Almacenamiento en Kubernetes 7ª
MÓD 8 8.2. Tarea. Desplegando un servidor web persistente 7ª
MÓD 8 8.3. Tarea. Haciendo persistente la aplicación GuestBook 7ª
MÓD 8 8.4. Tarea. Haciendo persistente la aplicación Nextcloud (VOLUNTARIA) --- 7ª
MÓD 9 9.1. Teoría. Otras cargas de trabajo 8ª
MÓD 9 9.2. Tarea. Creando un cluster de MySQL (VOLUNTARIA) --- 8ª
MÓD 10 10.1. Teoría. Despliegue de aplicaciones con Helm 8ª
MÓD 10 10.2. Tarea. Instalación de un CMS con Helm 8ª

El RESTO DE LAS HORAS HASTA LAS 45 HORAS DEL CURSO DEBEN DEDICARSE A LA LECTURA DE LOS MATERIALES Y AL VISIONADO DE LOS VIDEOTUTORIALES INCLUIDOS.

Metodología

El curso está pensado como una secuencia de complejidad creciente, en la que se irán introduciendo los diferentes elementos de Kubernetes, hasta llegar a poder gestionar completamente el ciclo de vida de una aplicación en un entorno en producción.

En la sesión inicial se realizará la introducción del curso en una sesión de asistencia obligatoria y se explicarán los contenidos del primer módulo, que es más conceptual.

El resto de módulos contarán con al menos los siguiente materiales:

  • Materiales en HTML con explicaciones detalladas y directas sobre las distintas operaciones que estemos llevando a cabo.
  • Una colección de vídeos donde los autores mostrarán las distintas operaciones funcionando.
  • Enlaces a materiales adicionales.

Podemos distinguir las siguientes partes en el curso:

  1. Una primera parte más conceptual en la que veremos las características de la arquitectura de una aplicación y por qué es necesario un software como Kubernetes. También veremos las características principales de este software y lo instalaremos en una máquina virtual para poder realizar el curso.
  2. En la segunda parte del curso, que está formado por la mayor parte de módulos, iremos viendo de forma progresiva los diferentes elementos de Kubernetes y como nos ayudan a gestionar el despliegue y puesta en producción de una aplicación.
  3. Finalmente veremos en el último módulo la aplicación Helm, que es un sistema de empaquetado para Kubernetes

En todo momento contarás con la ayuda de un tutor o tutora que te facilitará tu paso por la actividad formativa y se fomentará la participación a través de los foros para compartir dudas y cualquier otra cuestión.

Licencia

Materiales desarrollados por Alberto Molina Coballes y José Domingo Muñoz Rodríguez para el curso "Introducción a Kubernetes" organizado por la Consejería de Educación y Deporte de la Junta de Andalucía y dirigido a profesorado de secundaria de Andalucía.

Toda la documentación es libre y puede compartirse y modificarse bajo las limitaciones de la licencia Creative Commons BY-NC-SA.