Formación para empresas


Kubernetes Práctico

Resumen


Kubernetes es el gestor de contenedores por excelencia. Desde su liberación al open source por parte de Google, la absorción de esta tecnología dentro del mercado ha sido exponencial. Kubernetes es el resultado de años de experiencia por parte de Google gestionando contenedores, tras varias evoluciones, el destilado final de este conocimiento, es lo que hoy tenemos entre las manos.
 
Kubernetes ofrece los elementos necesarios para la gestión de aplicaciones basadas en los contenedores.
 
En este curso migraremos una aplicación basada en una arquitectura de microservicios a Kubernetes.

Requisitos Previos

  • Entender qué es un contenedor.

  • Entender qué es una imagen de un contenedor.

  • Ser capaz de contenerizar aplicaciones.

  • Entender y saber usar el registro de imágenes (locales y remoto).

  • Entender cómo usar redes de contenedores a nivel básico y exponer contenedores en estas redes.

  • Saber cómo utilizar volúmenes asociados a los contenedores.

  • Manejo básico de los comandos de Linux.

  • Docker Compose (deseable).

  • Nociones básicas de microservicios (deseable).


Temario

  • Trabajando con contenedores - Si los alumnos no alcanzan los requisitos previos

    • Introducción a los contenedores

    • Generando imágenes de aplicaciones

    • Ejecutando contenedores

    • Networking contenedores

    • Usando volúmenes

    • Usando un registro de imágenes local y remoto

  • Overview solución a migrar

  • ¿Por qué usar Kubernetes para nuestra solución?

    • Alternativas a Kuberetes

  • Desplegando una servicio web - (App sin estado)

    • Desplegando en un Pod

    • Troubleshooting

      • Visualizando los Pod logs

      • Accediendo al Pod

      • Comprobando el estado de la aplicación

    • Configurando nuestra aplicación

      • Storage

        • Conceptos básicos

        • Volumes

        • PersistentVolumes y PersistentVolumeClaims

        • StorageClasses

      • ConfigMaps

        • Usando variables de entorno - Key/Value Pair

        • Usando ficheros de configuración - Volumes

    • Accediendo a nuestra aplicación

      • Port Forwarding

      • Servicios

        • Exponiendo nuestra app al cluster - ClusterIP service

        • Exponiendo nuestra app al exterior - NodePort service

        • Balanceando peticiones entre nodos - LoadBalancer

  • Haciendo nuestro servicio web resiliente

    • Deployments

      • Overview ReplicaSet

      • Desplegando nuestra Aplicación

      • Escalando nuestra Aplicación

  • Desplegando nuevas versiones de nuestra Aplicación

    • Rolling Update - Estrategia por defecto

    • Canary Deployment

    • Blue-Green Deployment

  • Desplegando una Aplicación con estado - Postgres

    • Overview StatefulSet

    • Opciones de almacenamiento - Vuelta a StorageClass

    • Estableciendo cadenas de conexión - Secrets

    • Conectando a la base de datos

  • Tareas de mantenimiento

    • Gestionando un backup puntual - Job

    • Gestionando backups - CronJobs

  • Añadiendo nuevos elementos a nuestra solución

    • Desplegando un servicio de Caché - Redis

    • Desplegando una aplicación web

    • Añadiendo más servicios

  • Exponiendo nuestras aplicaciones de manera más eficiente

    • Ingress

      • Exponiendo un único servicio

      • Exponiendo múltiples servicios

      • Virtual Hosts

      • TLS

  • Logging y Monitorización

    • Overview Logs

    • Implementando - EFK

    • Visualizando logs en Kibana

    • Monitorización y Kubernetes Metrics Server

    • Implementando Prometheus

    • Implementando Grafana

Ficha del curso

  • Duración: 24 Horas. Si se incluye introducción a los contenedores 32 horas.

  • Rango de estudiantes recomendado: 6 - 12.

Descargar ficha curso