Despliegue de aplicaciones en la nube
Cloud Computing
Máster en Tecnologías y Aplicaciones en Ingeniería Informática
1
Introducción
Kubernetes (K8s)
Arquitectura de Kubernetes
Funcionamiento de Kubernetes
Componentes más importantes
Dónde usar Kubernetes
2
Instalación
Minikube
Interacción con Kubernetes: kubectl (CLI de Kubernetes)
3
Objetos principales de Kubernetes
Objetos básicos
Objetos controladores
Archivos de configuración YAML
Manifiestos YAML
Namespace
Creación de un namespace
Niveles de abstracción en Kubernetes
ReplicaSet
Deployment
Pod
Contenedor
gestiona un ...
gestiona un ...
es una abstracción de un ...
Pod
Despliegue de pods
kubectl apply -f
Con kubectl logs <pod> obtenemos los logs de un pod
Port forward a un pod
Nodos y pods
Deployment
Aplicación de ejemplo Tennis
Tennis API
Deployment de Tennis API
kubectl apply -f https://gist.githubusercontent.com/ualmtorres/0729de5e0ff5b5fdd931abcc6aa2fc5a/raw/a5e992b4e240d011b01749ec16d01bdd3c0bf7b1/tennis-api-deployment.yml
Especificación del pod dentro de la especificación del deployment
Etiqueta a los pods para determinar a qué deployment pertenecen
Prueba de Tennis API
Deployment de la aplicación Tennis
Prueba de aplicación Tennis
Service
Label y Selector
Emparejamiento Label y Selector en Tennis
Tipos de Service
Service completo para Tennis
kubectl apply -f https://gist.githubusercontent.com/ualmtorres/2a0a96749a8b0ced6b8fdd81a9258920/raw/23463255967a4156d1390befdd3bec872ae79bc0/tennis-service.yml
Limpieza del despliegue (servicios y deployments)
ConfigMap
Secret
4
Almacenamiento básico en volúmenes
Volúmenes locales
Volumen emptyDir
Ubicación de volúmenes emptyDir
Volumen hostPath
Riesgo de volúmenes hostPath
5
Init containers
Init Containers
Manifiestos de aplicación con Init Containers
6
Google Kubernetes Engine
Google Kubernetes Engine
Configuración kubectl contra GKE
Contextos
Operaciones de interés
7
Volúmenes NFS con Filestore
Filestore
PersistentVolume
PersistentVolumeClaim
Share
Despliegue conectado al PersistentVolumeClaim
Share
8
Horizontal Pod Autoscaler (HPA)
Horizontal Pod Autoscaler (HPA)
Ejemplo del tenis con HPA
Prueba de carga con Apache Benchmark
Limpieza del entorno
Limpieza del entorno (2)
9
Caso de uso. API de productos
Escenario de partida
Descripción de la API
DTO
(CREATE PRODUCT>)
Recursos Kubernetes necesarios
Creación del objeto ConfigMap
Creación del objeto Secret
Creación del objeto Deployment
Deployment en acción
Creación del objeto Service