Kubernetes, un sistema Open Source, originalmente creado por Google, para automatizar el despliegue automático de aplicaciones y su escalado mediante la orquestación de contenedores. Hoy en día se ha convertido en un estándar de facto y es implementado por todos los proveedores cloud (Amazon Web Services, Microsoft Azure, Google Cloud Platform, DigitalOcean,…).
En este curso aprenderemos cómo utilizar Kubernetes para desplegar aplicaciones basadas en contenedores, aprovechando las ventajas que nos aporta, tanto a la hora de utilizar los recursos hardware, como de resiliencia o escalado dinámico de recursos.
Objetivo
Dotar a los alumnos de las siguientes competencias:
- Capacidad para configurar y administrar un clúster de Kubernetes mediante el uso de las herramientas existentes en el mercado: Minikube, Kind, Rancher, soluciones cloud.
- Comprender la arquitectura de las aplicaciones basadas en contenedores y Kubernetes
- Ser capaz de desplegar y escalar aplicaciones en un clúster de Kubernetes siguiendo las mejores prácticas.
Audiencia
Desarrolladores, administradores de sistemas, otros profesionales técnicos, gestores de proyectos.
Prerrequisitos
Conocimientos de programación y administración de sistemas.
- Introducción al uso de contenedores Docker y Kubernetes
- Uso de contenedores frente a otras soluciones como máquinas virtuales, cloud o soluciones serverless
- Arquitecturas de aplicaciones basadas en Kubernetes
- Instalación y configuración de Kubernetes en local: Minikube, Kind, Docker Desktop
- Introducción a Kubectl y Lens
- Conceptos básicos: contenedores, nodos, pods
- Replicación de pods: Deployment y ReplicaSet
- Exponiendo nuestras aplicaciones: servicios ClusterIP, NodePort, LoadBalancer, uso de Ingress
- Uso de variables de entorno, configuraciones y secretos
- Configuración de recursos de memoria y CPU
- Autoescalado de recursos
- Networking en Kubernetes
- Monitorización del clúster con Prometheus
- Uso de Kubernetes en producción: Rancher, soluciones cloud.