Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Docker Programacion Paso a Paso desde cero, Diapositivas de Derecho

Programacion acerca de Docker de como iniciar sin conocimientos

Tipo: Diapositivas

2019/2020

Subido el 07/08/2020

miguel-cueva
miguel-cueva 🇵🇪

3

(1)

1 documento

1 / 169

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Docker y Kubernetes
Mag. Quinto Ancieta Javier Richard
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga Docker Programacion Paso a Paso desde cero y más Diapositivas en PDF de Derecho solo en Docsity!

Docker y Kubernetes

Mag. Quinto Ancieta Javier Richard [email protected]

Temario

1. Conceptos basicos de Docker

2. Escenarios multi-contenedor

3. Escenarios avanzados con Docker

4. Contenedores en la nube

5. Kubernetes

Programación de las clases

Mód 1: Concepto básico de Docker

Mód 2: Escenario multi-contenedor

Mód 3: Escenario avanzados con Docker

Mód 4: Contenedores en la nube

Mód 5: Kubernetes

Clase 1 (3 agosto) a. Conceptos fundamentales. Instalación y puesta en marcha, componentes y comandos. b. Gestión de imágenes y contenedores. c. Mapeo de puertos. Clase 2 (4 agosto) d. Creación de imágenes, capas, variables, volúmenes, etiquetas, repositorios, montaje (bind mounts).

Clase 3 (6 agosto) a. Docker Compose b. Configuración mediante variables de entorno y mediante bind mounts. c. Gestión de entornos con Compose d. Docker Compose en escenarios multi – contenedor Clase 4 (10 agosto) e. Acceso externo a contenedores. Redes internas f. Sesiones interactivas g. Escalado de instancias h. Docker machine y gestión remota de contenedores

Clase 5 (11 agosto) a. Uso de Docker y Compose para compilar y para trabajo de desarrollo, incluyendo multi – stage builds y contexto. b. Contenedores en Linux/Windows. Ejecución de aplicaciones Java, NodeJS, base de datos Clase 6 (13 agosto) c. Depuración de contenedores d. Buenas prácticas

Clase 7 (17 agosto) a. Desplegar Docker en Azure: en Webapps y en Azure Container Instances Clase 8 (18 agosto) b. Desplegar Docker en AWS c. Desplegar contenedores en Google Compute Engine (GCE)

Clase 9 (20 agosto) a. Kubernetes en forma local. Minikube. b. Kubernetes: Servicios. Pods. Escalado de pods. c. Despliegues declarativos en Kubernetes. d. Aplicaciones multi – contenedores en Kubernetes. e. Kubernetes: Controladores. f. Kubernetes: Volúmenes, temporales, persistentes, diferentes tipos. g. Clústeres de Kubernetes en Azure. h. Clústeres de Kubernetes en Google Cloud Engine. Clase 10 (21 agosto) i. Configuración mediante ConfigMaps. j. “Secrets” en Kubernetes. k. Ingress controller. l. Healthckecks, dependencias entre servicios, liveness/readyness, probes. m. Controladores y Jobs en Kubernetes. n. Uso de Helm para simplificar la instalación de componentes en Kubernetes. o. Uso de Kubernetes en Docker CE. p. Entornos de Desarrollo.

Programación de las clases

Mód 1: Concepto básico de Docker

Mód 2: Escenario multi-contenedor

Mód 3: Escenario avanzados con Docker

Mód 4: Contenedores en la nube

Mód 5: Kubernetes

Clase 1 (3 agosto) a. Conceptos fundamentales. Instalación y puesta en marcha, componentes y comandos. b. Gestión de imágenes y contenedores. c. Mapeo de puertos. Clase 2 (4 agosto) d. Creación de imágenes, capas, variables, volúmenes, etiquetas, repositorios, montaje (bind mounts).

Clase 3 (6 agosto) a. Docker Compose b. Configuración mediante variables de entorno y mediante bind mounts. c. Gestión de entornos con Compose d. Docker Compose en escenarios multi – contenedor Clase 4 (10 agosto) e. Acceso externo a contenedores. Redes internas f. Sesiones interactivas g. Escalado de instancias h. Docker machine y gestión remota de contenedores

Clase 5 (11 agosto) a. Uso de Docker y Compose para compilar y para trabajo de desarrollo, incluyendo multi – stage builds y contexto. b. Contenedores en Linux/Windows. Ejecución de aplicaciones Java, NodeJS, base de datos Clase 6 (13 agosto) c. Depuración de contenedores d. Buenas prácticas

Clase 7 (17 agosto) a. Desplegar Docker en Azure: en Webapps y en Azure Container Instances Clase 8 (18 agosto) b. Desplegar Docker en AWS c. Desplegar contenedores en Google Compute Engine (GCE)

Clase 9 (20 agosto) a. Kubernetes en forma local. Minikube. b. Kubernetes: Servicios. Pods. Escalado de pods. c. Despliegues declarativos en Kubernetes. d. Aplicaciones multi – contenedores en Kubernetes. e. Kubernetes: Controladores. f. Kubernetes: Volúmenes, temporales, persistentes, diferentes tipos. g. Clústeres de Kubernetes en Azure. h. Clústeres de Kubernetes en Google Cloud Engine. Clase 10 (21 agosto) i. Configuración mediante ConfigMaps. j. “Secrets” en Kubernetes. k. Ingress controller. l. Healthckecks, dependencias entre servicios, liveness/readyness, probes. m. Controladores y Jobs en Kubernetes. n. Uso de Helm para simplificar la instalación de componentes en Kubernetes. o. Uso de Kubernetes en Docker CE. p. Entornos de Desarrollo.

Tiempo de vida de aplicaciones

Meses y años

Semanas y meses

Días y semanas

Evolucionando para

trascender

1. Conceptos basicos de Docker

1. Conceptos basicos de Docker

● Conceptos fundamentales, instalaciòn y puesta en marcha, componentes y comandos

● Gestiòn de Imagenes y contenedores

● Mapeo de puertos

● Creaciòn de imagenes, capas, variables, volumenes, etiquetas, repositorios, montaje

(Bind mounts)

● Desarrollado por IBM en los años 60.

Virtualizando

Fuente: ttps://www.vmware.com/pdf/virtualization.pdf

● Divide recursos de un computador físico en

múltiples S.O virtualizados

● El despliegue de la infraestructura virtual no

es disruptiva, ya que las experiencias del usuario no son modificadas.

● Diferentes tipos de virtualización de Hardware

incluyen: Full Virtualización y Para virtualización

Historia

● Reducción en costos y espacios de almacenamiento

● Generan rápidos backup y recuperación de desastres.

● Despliegue rápido de recursos a través del Manager de los Hypervisores

● Ahorro de energía

Historia

Virtualizando (Ventajas)

Problema en el despliegue de aplicaciones

Aplicaciones distribuidas requieren

diferentes S.O, lenguajes de

programación, entornos de ejecución,

librerias, etc. para que puedan

desplegarse sobre múltiples plataforma.

Conceptos fundamentales

● Tecnología patentada de dotCloud.

Orígenes de Docker

Solomon Hykes Co-fundador de Docker (dotCloud)

● Docker Opensource desde Marzo 2013.

● No más LXC como entorno de ejecución por

defecto, ahora usa su propia biblioteca, libcontainer, escrito en GO.

● Principales contribuyentes: Red Hat, Microsoft,

IBM, Google, Cisco System, Amadeus IT Group.

Conceptos fundamentales

Conceptos fundamentales

Conceptos fundamentales

Docker proporciona una capa adicional de abstracción y automatización de virtualización de

aplicaciones en múltiples sistemas operativos.

Evita el Overhead del arranque y mantenimiento de las máquinas virtuales (KVM).

Proporciona aislamiento de recursos del Kernel Linux (namespaces y cgroups) y beneficios

en la localización, pero su funcionamiento es diferente porque los contenedores virtualizan el

sistema operativo en vez del hardware.

Ventajas de los Contenedores

El soporte del kernel Linux para los espacios de nombres aísla la vista que tiene una aplicación de su entorno operativo, incluyendo árboles de proceso, red, ID de usuario y sistemas de archivos montados, mientras que los cgroups del kernel proporcionan aislamiento de recursos, incluyendo la CPU, la memoria, el bloque de E/S y de la red

Tamaño de imágen es menor en contenedores

Ejecución instantánea sin sobrecarga de virtualización

Ejecuta todas las dependencias garantizando la correcta solución.

Escríbelo una vez y ejecútalo donde sea!

Compatible con Windows, Linux y Mac

Aislamiento de seguridad

Ventajas de los Contenedores

Docker accede a la virtualización del kernel Linux ya sea directamente a través de la biblioteca libcontainer (disponible desde Docker 0.9), o indirectamente a través de libvirt, LXC o systemd-nspawn.