Guía Completa De Docker & Kubernetes Con Spring Boot 2022

Posted By: ELK1nG

Guía Completa De Docker & Kubernetes Con Spring Boot 2022
Última actualización: 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: Español | Size: 13.34 GB | Duration: 32h 43m

Construye Microservicios Spring Boot, Docker, Kubernetes, Spring Cloud, LoadBalancer, Security JWT, Amazon AWS ECS y EKS

What you'll learn
Aprende a crear y consumir servicios web RESTful con Spring Boot
Aprende Docker desde cero
Aprende Kubernetes desde cero
Conecta y consume otros microservicios utilizando cliente HTTP con Feign Spring Cloud
Aprende a crear y usar imágenes y contenedores con Docker
Aprende sobre las redes de contenedores con Docker Networks y DNS Service Discovery
Aprende qué es Docker y Kubernetes y por qué podría querer utilizarlos en sus microservicicos
Centraliza las configuraciones de los microservicios con Kubernetes Config Map
Aprende a establecer comunicación entre microservicios, habilitar balanceo de carga (LoadBalancer)
Auto-escalamiento dinámico hacia arriba y hacia abajo de instancias de los microservicios, balanceo de carga (LoadBalancer) con Kubernetes y Spring Cloud
Implementa Autenticación y Autorización con Spring Security OAuth2, JWT y Spring Authorization Server
Despliegues en producción contenedores Docker y Kubernetes en AWS, EC2 (Elastic Computing), ECS (Elastic Container Service) y EKS (Elastic Kubernetes Service)
Requirements
Dominio de Java y programación orientada a objetos
Conocimientos de Spring Framework e Spring Boot
Conocimientos de Bases de Datos y SQL
Description
Bienvenido al curso de Microservicios, aprenderás línea a línea y desde cero a construir un arquitectura de microservicios con Spring Boot 2, Docker, Docker Compose, Multi-Container, Kubernetes y Spring Cloud Kubernetes, desde los conceptos más básicos hasta un completo ecosistema de servicios interconectados mediante el registro y escalamiento dinámico con Kubernetes (Integrado con Spring Cloud), Spring Cloud Gateway (puerta de enlace), balanceo de carga con LoadBalancer. Además de automatizar, escalar y desplegar en producción los microservicios en contenedores Docker y Kubernetes en Amazon AWS ECS y EKS.También aprenderás a dar seguridad y proteger las rutas endpoints de los diferentes microservicios con Spring Security OAuth2, JWT y nuevo Spring Authorization Server. Además aprenderás a centraliza toda la configuración de los microservicios utilizando Kubernetes ConfigMap y Secrets y muchos mas. Durante el curso también trabajaremos con varios componentes del ecosistema de Spring como IoC, Spring Boot, RestController, Servicios Web RESTful, cliente HTTP con Feing, Spring Data JPA e Hibernate para la persistencia y CRUD (crear, leer, actualizar y eliminar), usaremos bases de datos MySQL 8 y PostgreSQL, entre otros temas más.El curso es completamente funcional con versiones de Java 8 y 11, 12, 13, 14, 15, 16, 17, 18 y superiores.¿Qué son los microservicios?Son un enfoque de arquitectura y organización para el desarrollo de aplicaciones compuestas por pequeños servicios autónomos que se comunican a través de API RESTful, en otras palabras, nos permiten dividir nuestro gran sistema en una serie de componentes más pequeños e independientes que colaboran entre si. La arquitectura de microservicios hace que las aplicaciones sean más simples de escalar, más rápidas de desarrollar y más fácil de reutilizar. Donde cada servicio está diseñado para un conjunto de funciones y se enfoca en resolver un problema específico, por ejemplo un servicio desarrollado para una determinada función se puede usar como un componente básico en otro microservicio.¿Porqué elegir nuestros cursos?Acceso 7 x 24 a nuestra Plataforma e-learning.Soporte online con profesor JavaAl finalizar recibes un certificado digitalSomos pioneros en brindarte este tipo de acceso para darte la libertad que necesitas para estudiar, donde quiera que te encuentres.Excelente relación calidad-precio.Conocimiento aplicable a proyectos reales del mercado laboral.Atención rápida y satisfactoria a las dudas por parte del profesor.Interactividad del curso ya que contiene foros y comunicación para resolver dudas.Todos los materiales del curso están en español y al finalizar recibes un diploma UDEMY digital certificando tu aprobación con validez internacional y LinkedIn.Si quieres ser un desarrollador de arquitecturas de microservicios con Spring Boot 2 y Spring Cloud y avanzar al siguiente nivel, es casi obligatorio este curso, te invito a que te inscribas, nos vemos adentro.

Overview

Section 1: Introducción

Lecture 1 Introducción al curso

Lecture 2 Antes de Comenzar

Lecture 3 Instalación JDK Windows (opcional)

Lecture 4 Instalación JDK MacOS (opcional)

Lecture 5 Instalación JDK Linux (opcional)

Lecture 6 Instalación IntelliJ IDEA

Lecture 7 Cómo hacer preguntas

Lecture 8 Creando nuestro primer microservicio con Spring Boot y Cloud

Lecture 9 Introducción a los microservicios

Section 2: Microservicio Usuarios

Lecture 10 Configurando el contexto de persistencia JPA/Hibernate

Lecture 11 Introducción a los repositorios (CrudRepository de Spring Data JPA)

Lecture 12 Implementando el componente Repository de acceso a datos

Lecture 13 Implementando el componente Service

Lecture 14 Implementando el controlador RestController y metodos handler GET

Lecture 15 RestController y metodos handler POST y PUT

Lecture 16 RestController y metodos handler DELETE

Lecture 17 Configurando en el application.properties conexión MySQL

Lecture 18 Instalando Base de Datos MySQL

Lecture 19 Probando la conexión a MySQL

Lecture 20 Probando API Restful en la herramienta Postman

Section 3: Microservicio Cursos

Lecture 21 Creando msvc cursos

Lecture 22 Añadiendo la clase Entity y el CrudRepository

Lecture 23 Agregado el componente Service

Lecture 24 Escribiendo el controlador RestController para cursos

Lecture 25 Configurando el datasource y conexión con PostgreSQL

Lecture 26 Instalando PostgreSQL

Lecture 27 Probando API Restful de cursos con Postman

Section 4: Validaciones y manejo de errores

Lecture 28 Validadando los datos del JSON

Lecture 29 Validando si existente el usuario en la BBDD

Lecture 30 Validando si existente el usuario en la BBDD parte 2

Section 5: Cliente HTTP Feign: Comunicación entre microservicios

Lecture 31 Introducción conectando microservicios

Lecture 32 Creando JPA entity intermedia CursoUsuario

Lecture 33 Añadiendo JoinColumn curso_id como foreignkey y la clase POJO Usuario

Lecture 34 Revisando tablas de la BBDD y agregando métodos de comunicación HTTP

Lecture 35 Escribiendo el Cliente HTTP con Spring Cloud Feign

Lecture 36 Añadiendo e implementando métodos de comunicación HTTP en el Service

Lecture 37 Añadiendo métodos de comunicación en el Controlador Rest

Lecture 38 Probando comunicaciones HTTP entre microservicios en Postman

Lecture 39 Msvc usuarios obtener alumnos por ids

Lecture 40 Msvc cursos detalle del curso con los alumnos asignados

Lecture 41 Des-asignar un alumno del curso al ser eliminado en el Msvc usuarios

Lecture 42 Agregando en cliente Http de Msvc-usuarios para eliminar alumno de Msvc-cursos

Lecture 43 Descargar Código Fuente

Section 6: Docker: Introducción

Lecture 44 Introducción a contenedores Docker

Lecture 45 Ventajas de los contenedores en el desarrollo

Lecture 46 Arquitectura de Docker: Imágenes & Contenedores

Lecture 47 Instalación Docker Windows

Lecture 48 Instalación Docker macOS

Lecture 49 Instalación Docker Linux

Lecture 50 Generando archivo jar para dockerizar

Lecture 51 Creando archivo Dockerfile usando imagen OpenJDK

Lecture 52 Construyendo nuestra primera imagen con Dockerfile y corriendo contenedor

Lecture 53 Comunicación entre aplicación en contenedor y aplicación local

Lecture 54 Resumiendo un poco

Section 7: Docker: Optimizando Dockerfile

Lecture 55 Comprendiendo las capas de la imagen

Lecture 56 Optimizando Dockerfile

Lecture 57 Optimizando Dockerfile parte 2 - añadiendo nuevas capas

Lecture 58 Optimizando Dockerfile con compilaciones de varias etapas o multi-stage builds

Section 8: Docker: Comandos para manejar imagenes y contenedores

Lecture 59 Introducción

Lecture 60 Reiniciando contenedores

Lecture 61 Conceptos y comandos para adjuntar (attach) o separar contenedores del terminal

Lecture 62 Eliminar contenedores e imagenes

Lecture 63 Eliminar contenedores detenidos automáticamente

Lecture 64 Ingresando en modo interactivo en contenedores

Lecture 65 Copiando archivos hacia/desde el contenedor en ejecucion

Lecture 66 Copiando archivos logs de spring desde el contenedor

Lecture 67 Más detalles sobre las imagenes y contenedores con el comando inspect

Lecture 68 Nombrando y etiquetando imagenes & contenedores

Section 9: Docker Networks: Comunicación entre contenedores

Lecture 69 Introducción

Lecture 70 Dockerizando microservicio cursos y configurando la red o network

Lecture 71 Comunicación entre contenedores

Lecture 72 Dockerizando MySQL

Lecture 73 Dockerizando PostgreSQL

Lecture 74 Comunicación contenedores con BBDD Dockerizadas (MySQL y PostgreSQL)

Lecture 75 Revisando microservicios dockerizados en Postman

Lecture 76 Problema con persistencia de datos en MySQL/Postgres al eliminar el contenedor

Lecture 77 Docker Volumes: la solución al problema de persistencia de datos

Lecture 78 Conectarse desde contenedor cliente de línea de comandos a MySQL/Postgres

Section 10: Docker: Arguments y Environment Variables

Lecture 79 Introducción

Lecture 80 Trabajando con variables de ambiente

Lecture 81 Trabajando con argumentos en el Dockerfile

Lecture 82 Solución al problema Dockerfile ARG en multi-stage

Lecture 83 Variables de ambiente (env) para los parametros de MySQL y Postgres

Lecture 84 Revisando variables de ambiente DB con inspect y Postman

Lecture 85 Variables de ambiente (env) para los hostnames de los contenedores

Lecture 86 Descargar Código Fuente

Section 11: Docker Compose: Orquestador para definir y ejecutar multi-contenedores

Lecture 87 Introducción Docker Compose

Lecture 88 Instalando Docker Compose en Linux

Lecture 89 Creando el archivo docker compose

Lecture 90 Definiendo contenedores de BBDD MySQL y PostgreSQL

Lecture 91 Añadiendo contenedores de microservicios

Lecture 92 Ejecutando todo con docker-compose Up y Down para detener y eliminar todo

Lecture 93 Build imagen en docker compose

Lecture 94 Descargar Código Fuente

Section 12: Docker Hub: Repositorio para compartir imágenes en la nube

Lecture 95 Introducción Docker Hub y repasando lo aprendido

Lecture 96 Creando nuestro repositorio y enviando imagen a Docker Hub con push

Lecture 97 Bajando imagen desde Docker Hub con pull

Lecture 98 Modificando docker-compose para obtener imagenes desde repositorio Docker Hub

Lecture 99 Descargar Código Fuente

Section 13: Docker: Despliegue en producción - Amazon AWS

Lecture 100 Introducción

Lecture 101 Comenzando con Amazon EC2

Lecture 102 Lanzando nuestra instancia EC2

Lecture 103 Conectando a instancia de amazon linux EC2 e instalando Docker

Lecture 104 Corriendo contenedores con docker-compose en maquina remota AWS EC2

Lecture 105 Corriendo contenedores en multi-maquinas EC2 o multi-host - parte 1

Lecture 106 Corriendo contenedores en multi-maquinas EC2 o multi-host - parte 2

Lecture 107 Introducción AWS Elastic Container Service (Amazon ECS)

Lecture 108 Importante sobre precios de ECS

Lecture 109 Creando Cluster ECS y una definición de tarea o task definition

Lecture 110 Agregando contenedor mysql en la definición de tarea o task definition

Lecture 111 Agregando servicio para exponer los contenedores

Lecture 112 Solucionando problema de conexión de la base de datos

Lecture 113 Solución II: problema de conexión configurando datasource (Opcional)

Lecture 114 Agreagando LoadBalancer al servicio

Lecture 115 Agregando tarea para microservicio cursos

Lecture 116 Agregando servicio para exponer contenedor de cursos y LoadBalancer

Lecture 117 Modificando task usuarios con URL del loadbalancer de cursos

Lecture 118 Probando los servicios ECS en Postman

Lecture 119 Agregando volumen EFS a contenedor MySQL

Lecture 120 Agregando volumen EFS a contenedor de PostgreSQL

Lecture 121 Finalizando y eliminando todos los recursos de ECS

Section 14: Kubernetes

Lecture 122 Introducción a Kubernetes

Lecture 123 Porqué Kubernetes

Lecture 124 Arquitectura de Kubernetes

Lecture 125 Alcance de Kubernetes y las herramientas necesarias para instalar

Lecture 126 Instalación Windows

Lecture 127 Instalación MacOS

Lecture 128 Introducción a los objetos de Kubernetes

Lecture 129 Los objetos Pods

Lecture 130 Los objetos Deployments

Lecture 131 Creando deployment mysql

Lecture 132 Deployment mysql con las variables de ambientes

Lecture 133 Creando el servicio de mysql para la comunicación interna con hostname

Lecture 134 Creando Deployment usuarios

Lecture 135 Creando el servicio de usuarios para la comunicación, tráfico y LoadBalancer

Lecture 136 Actualizando imagen de un deployment

Lecture 137 Replicas, escalando instancias de pods en Deployment

Lecture 138 Pasando del método Imperativo al Declarativo con archivos de configuraciones yml

Lecture 139 Trabajando con la forma Declarativa yaml

Lecture 140 Escribiendo Deployment declarativo de postgres

Lecture 141 Escribiendo Service declarativo de postgres

Lecture 142 Escribiendo Deployment y Service de cursos

Lecture 143 Aplicando Deployment y Service de cursos y probando en Postman

Section 15: Kubernetes: Volumes

Lecture 144 Introducción a los Volumes de Kubernetes

Lecture 145 Resumen sobre los volumenes

Lecture 146 Configurando volume hostPath para MySQL

Lecture 147 Configurando volume hostPath para PostgreSQL

Lecture 148 Configurando PersistentVolume para MySQL

Lecture 149 Configurando PersistentVolumeClaim para MySQL

Lecture 150 Configurando PersistentVolume para PostgreSQL

Section 16: Kubernetes: ConfigMap y Secret - Configuración centralizada

Lecture 151 Agregando diccionario ConfigMap

Lecture 152 Aplicando y utilizando las configuraciones en los Deployments

Lecture 153 Agregando Secret

Lecture 154 Descargar Código Fuente

Section 17: Kubernetes: Spring Cloud Kubernetes

Lecture 155 Introducción Spring Cloud Kubernetes

Lecture 156 Configurando nuestros msvcs con Spring Cloud Kubernetes

Lecture 157 Aplicando cambios en K8s y probando en Postman

Lecture 158 Ejemplo visualizando LoadBalancer con metadata de los pods

Lecture 159 Configuraciones de Spring Boot en ConfigMap

Lecture 160 Configuraciones de entornos dev y prod

Lecture 161 Configurando Liveness y Readiness en microservicios con Spring Boot Actuator

Lecture 162 Configurando Pod con Liveness y Readiness Probe

Lecture 163 Configurando Pod Container Resources

Lecture 164 Descargar Código Fuente

Section 18: Kubernetes: Spring Cloud Gateway

Lecture 165 Introducción a Spring Cloud Gateway

Lecture 166 Creando y configurando servicio Spring Cloud Gateway

Lecture 167 Configurando rutas de msvcs en Gateway y Dockerizando

Lecture 168 Configuración de rutas usando application.properties y applications.yml

Lecture 169 Escribiendo Deployment y Service de Gateway y probando en Postman

Lecture 170 Descargar Código Fuente

Section 19: Kubernetes: Despliegue en AWS EKS (Elastic Kubernetes Service)

Lecture 171 Creando cluster de kubernetes en Amazon EKS

Lecture 172 Importante: sobre los precios de AWS EKS

Lecture 173 Configurando kubectl para la comunicación con Amazon EKS

Lecture 174 Creando Worker Nodes EC2

Lecture 175 Creando sistema de almacenamiento con Amazon EFS para MySQL y PostgreSQL

Lecture 176 Aplicando los recursos AWS EFS CSI Driver en cluster EKS

Lecture 177 Modificando yaml de PersistentVolume (PV) y PVC con el driver CSI de EFS

Lecture 178 Aplicando todos los objetos pods, deployments, svc en EKS y probando en Postman

Lecture 179 Eliminando cluster EKS y Recursos AWS (Opcional)

Section 20: Kubernetes: Security JWT con OAuth 2.1

Lecture 180 Creando microservicio Spring Authorization Server (OAuth 2.1 )

Lecture 181 Configurando el Servidor de Autorización

Lecture 182 Configurando OAuth2 Client

Lecture 183 Configurando OAuth2 Client SecurityConfig

Lecture 184 Configurando OAuth2 Resource Server

Lecture 185 Configurando varibles de entorno en Msvc Usuarios

Lecture 186 Configurando varibles de entorno en Msvc Auth

Lecture 187 Escribiendo Deployment y Service de Auth

Lecture 188 Aplicando configuraciones y cambios & probando con Postman

Lecture 189 Login OAuth 2.1

Lecture 190 Encriptando Password BCrypt

Lecture 191 Configurando BCrypt Password Encoder en el servidor de autorización

Lecture 192 Implementando método handler login (Controlador)

Lecture 193 Implementando clase UserDetailsService para login personalizado con WebClient

Lecture 194 Aplicando cambios y probando

Lecture 195 WebClient con SpringCloud LoadBalancer

Lecture 196 Propagar token JWT en msvc cursos

Lecture 197 Login OAuth2 Cliente Http Postman

Lecture 198 Final del Curso y Código Fuente

Desarolladores que dominan Spring y quieran actualizar y profundizar sus conocimientos con Docker y Kubernetes,Desarolladores que manejan Spring Boot y necesitas aprender Docker y Kubernetes para miscroservicios,Personas que dominan Spring y quieran introducirse en la arquitectura de microservicios,Personas que estudian informática y/o ingeniería que estén estudiando o han estudiado Java y spring,Personas interesadas en el desarrollo backend que dominan Java y spring,Personas que quieran aprender desde cero Docker y Kubernetes como un ecosistema de miscroservicios