Logo Studenta

Administracion Docker

¡Este material tiene más páginas!

Vista previa del material en texto

Administración Docker
Setiembre 2019
Josua Castro V.
CURSO DOCKER
Setiembre 2019
ADMINISTRACIÓN DE DOCKERS Y KUBERNETES
Josua Castro
Servicios
Gestión de Monitoreo APM de Aplicaciones
Gestión del ciclo de Vida y Automatización de Plataforma
Consolidación y Virtualización de Servidores
Clustering de Aplicaciones Web y BD
Gestión de Plataforma de Aplicaciones con OpenShift
Integración y Entrega Continua con Jenkins
Gestión de Contenedores y Orquestación
Monitoreo de Infraestructura y Aplicaciones con ELK
Servicios de Soporte Presencial y Remoto
Introducción a Contenedores Docker
Trabajando con Docker
Creación y Administración de Imágenes con Docker
Creación y Administración de Volúmenes
Introducción a Kubernetes
Instalación de Kubernetes
Clúster y Orquestación de Contenedores
Despliegue, Actualización y Seguridad en Kubernetes
Monitoreo y Supervisión
Kubernetes sobre AWS
Agenda
Introducción a Contenedores Docker
Trabajando con Docker
Creación y Administración de Imágenes con Docker
Creación y Administración de Volúmenes
Introducción a Kubernetes
Instalación de Kubernetes
Clúster y Orquestación de Contenedores
Despliegue, Actualización y Seguridad en Kubernetes
Monitoreo y Supervisión
Kubernetes sobre AWS
Agenda
Introducción a Contenedores
Docker es sin duda la tecnología más popular en estos días
en el mundo de las Tecnologías de la Información.
 Es una plataforma de código abierto
 Fundada por Solomon Hykes.
 Comenzó como PaaS Llamada dotCloud
 dotCloud internamente construía contenedores en Linux
y esa práctica fue llamada docker
 En el 2013 fue el termino de dotCloud e inicio de Docker
Inc.
Docker es una plataforma que permite desplegar aplicaciones en 
contenedores, de forma rápida y portable
Qué es Docker?
 Aplicación de bolsillo.
 Desplegar y escalar aplicaciones.
 Destruir y recrear.
Docker es una plataforma de software que le permite crear, probar e 
implementar aplicaciones rápidamente
Qué es Docker?
 La idea detrás de Docker es crear contenedores ligeros y portables
para las aplicaciones software que puedan ejecutarse en cualquier
máquina con Docker instalado, independientemente del sistema
operativo que la máquina tenga por debajo, facilitando así también
los despliegues.
 Docker nos ayuda a no malgastar nuestro tiempo configurando el
entorno y las dependencias del sistema, porque lo vamos a poder
desplegar fácilmente.
Algo muy útil tanto para grandes empresas, como Red Hat o Google,
como para las pequeñas startups que empiezan a desarrollar su
aplicación.
Docker está transformando la forma en que se desarrolla, distribuye
y ejecuta el software
Características y Componentes?
Docker es un proyecto de código abierto con el que fácilmente podremos crear "contenedores". Estos
contenedores de Docker podríamos definirlos como máquinas virtuales ligeras. Las características principales de
estos contenedores son:
 Portabilidad: Desplegable en cualquier otro sistema que soporte esta tecnología.
 Ligereza: El tamaño de este sistema no tiene comparación con cualquier otro sistema.
 Autosuficiencia: El contenedor Docker contiene librerías, archivos y configuraciones necesarias
para desplegar las funcionalidades que contenga.
 Fiabilidad
 Multitud de Despliegue
 Liviano
Docker permite la creación de contenedores livianos
Características y Componentes?
Docker, se compone de tres elementos fundamentales:
 Docker Container:
Contiene todo lo necesario para que un
aplicación pueda funcionar.
 Docker Images:
Podemos entenderlo como un sistema
operativo con aplicaciones instaladas.
 Docker Registry: Contienen imágenes creadas
que están disponibles en repositorios públicos
Docker permite la creación de contenedores livianos
Arquitectura Docker
Docker Host
Arquitectura Docker
 En la capa inferior se tiene el sistema
operativo Linux (NameSpaces processID,
Network, Cgroups)
 En la capa media se tiene el “Container
Runtime”. Containerd, runc, encargado de
todo el ciclo de vida del contenedor.
 En la capa superior el Docker Engine.
Proporciona la capacidad de integrarse y
soporte a nuevos plugins, bibliotecas de
red y una interfaz REST, para automatizar
todas las operaciones del contenedor.
Diagrama de arquitectura de Docker Engine
Arquitectura Docker
 Donde el cliente Docker, le
pide al Docker daemon vía
Sockets o RESTful que
construya, ejecute y
distribuya los contenedores
Docker
Docker BUILD, PULL and RUN
Arquitectura Docker
 Docker Images, se crean a partir de dockerfiles, unión de
FileSystem y otras capas,
 Docker Registries, Almacena imágenes de docker.
 Docker Containers, entornos de aplicaciones
virtualizadas que se ejecutan en un Host Docker aislado.
 Dockerfiles, instrucciones para la creación de una
imagen.
 Docker Host, Host Linux server físico o virtual.
 Docker Client, utilidad de línea de comandos.
Docker
Beneficios e Importancia de Docker
Docker permite ahorrar y acelerar el proceso de desarrollo
Beneficios:
 Retorno de la inversión y ahorro de costos.
 Estandarización y productividad.
 Eficiencia de CI.
 Compatibilidad y mantenibilidad.
 Simplicidad y configuraciones más rápidas.
 Despliegue rápido.
 Despliegue continuo y pruebas.
 Plataformas multi-nube
 Automatización.
Beneficios e Importancia de Docker
Importancia:
 En estos días, el tiempo entre las nuevas versiones de una
aplicación se vuelven cada vez más cortas, sin embargo, el
software en sí no se simplifica. Por el contrario, los
proyectos de software aumentan en complejidad.
 Los operadores finalmente pueden concentrarse en
aquello en lo que son realmente buenos, aprovisionar
infraestructura, ejecutar y monitorear aplicaciones en
producción.
 Los contenedores facilitan la simulación de un entorno
similar a la producción.
Beneficios e Importancia de Docker
Seguridad:
 Los proyectos de software aumentan en complejidad, Por
lo tanto, necesitamos una forma de acelerar y simplificar la
cadena de suministro de software.
 También escuchamos todos los días cuánto aumentan los
delitos cibernéticos. Muchas empresas son afectadas por
violaciones de seguridad, datos de clientes altamente
confidenciales son robados, como números de seguridad
social, información de tarjetas de crédito y más. Pero no
solo se comprometen los datos de los clientes, también se
roban los secretos confidenciales de la empresa.
 Gartner ha encontrado en un informe reciente que las
aplicaciones que se ejecutan en un contenedor son más
seguras que sus contrapartes.
Beneficios e Importancia de Docker
Seguridad:
 El Kernel de Linux, permite utilizar
Cgroups, ya que permite asignar recursos
en sus servidores de una manera muy
detallada,
Ecosistema Docker
Containerization vs Virtualization
 Los contenedores no usan un hipervisor
para proporcionar el aislamiento.
 Docker utiliza capacidades de 
aislamiento de procesos y filesystem del 
kernel Linux.
 Los contenedores no requieren disco 
para el sistema operativo.
 Tiempos de inicio significativamente 
bajos.
 Velocidad con la que el contenedor 
puede desarrollar, componer y 
empaquetar aplicaciones.
 Ahorro notable de recurso de TI, ya que 
consumen menos espacio de memoria.
Containerization vs Virtualization
 No hay necesidad de sistema operativo.
 Tamaño de imágenes mínimos.
Containerization
Configuración de Ambiente
Public/Private/Hybrid 
Cloud
Bare Metal
Containers
Virtualization
Productos Docker
 Docker Community Edition (CE) que es de código
cerrado pero completamente gratuita, son
productos como Docker Toolbox, Docker para
Mac y Docker para Windows. Todos estos tres
productos están dirigidos principalmente a
desarrolladores.
 Ideal para desarrolladores y pequeños equipos
que buscan comenzar con Docker y experimentar
con aplicaciones basadas en contenedores.
Docker CE disponible para múltiples plataformas.
Docker actualmente separa sus líneas en dos segmentos
LaboratorioPráctico
Instalación de Docker
Productos Docker
 Docker Enterprise Edition ( EE ) que también es una fuente cerrada y necesita
una licencia anual.
 Docker EE comprende dos productos: Universal Control Plane (UCP) y Docker
Trusted Registry (DTR) que se ejecutan encima de Docker Swarm.
 Los productos empresariales tienen un soporte 24x7, y son compatibles con
correcciones de errores por mucho más tiempo que su contraparte de CE.
 Diseñado para equipos de TI y desarrollo empresarial que crean, envían y
ejecutan aplicaciones críticas para el negocio en producción a escala.
 Docker EE está integrado, certificado y respaldado para proporcionar a las
empresas la plataforma de contenedores más segura de la industria para
modernizar todas las aplicaciones.
Docker actualmente separa sus líneas en dos segmentos
Productos Docker
Productos Docker
Trabajando con Docker
Docker, anuncio un nuevo modelo de nomenclatura para sus productos, simplificando su estructura:
 El conocido como Docker Engine pasa a llamarse Docker Community Edition (CE).
Además se simplifica creando 3 niveles de soporte.
 Edge: De liberación mensual y en la que solo se proporcionará soporte a bugs y fallos de seguridad durante 
el mes en curso.
 Stable: De liberación trimestral con cuatro meses de soporte.
¿Qué versión necesito?
Trabajando con Docker
 Docker Datacenter /Docker engine CS (Commercial Supported) pasa a llamarse Docker Enterprise Edition (EE).
Por su parte Docker EE lleva el mismo ritmo de liberación que la versión Stable pero el soporte se garantiza
durante un año.
 Esta versión está dirigida a aplicaciones críticas en la que necesitemos una garantía de soporte.
Para simplificar todo esto se han acometido tres planes: Reducción de los planes de soporte a 3: Básico,
estándar o avanzado.
Creación de un programa de certificación a nivel de infraestructuras y plugins.
Centralización de toda la oferta e información en Docker store, con todos los planes de precio, información y
elementos certificados. Incluye además contenedores certificados validados por la propia Docker Inc.
¿Qué versión necesito?
https://store.docker.com/
Trabajando con Docker
 Docker Enterprise Edition (EE).
Docker Machine
 Docker Machine es una herramienta que nos ayuda a crear, configurar y manejar máquinas (virtuales o físicas)
con Docker Engine.
 Con Docker Machine podemos iniciar, parar o reiniciar los nodos docker, actualizar el cliente o el demonio
docker y configurar el cliente docker para acceder a los distintos Docker Engine.
 El propósito principal del uso de esta herramienta es la de crear máquinas con Docker Engine en sistemas
remotos y centralizar su gestión.
 Docker Machine utiliza distintos drivers que nos permiten crear y configurar Docker Engine en distintos
entornos y proveedores, por ejemplo virtualbox, AWS, VMWare, OpenStack.
 Las tareas fundamentales que realiza Docker Machine, son las siguientes:
 Crea una máquina en el entorno que hayamos indicado (virtualbox, openstack,…) donde va a instalar y
configurar Docker Engine.
 Genera los certificados TLS para la comunicación segura.
Docker Compose
 Facilita enormemente la administración de
aplicaciones compuestas por varios contenedores
relacionados si.
 Docker Compose, gestiona los contenedores de tal
forma que puede iniciarlos, pararlos, eliminarlos o ver
su estado como si de una unidad se tratara.
 Docker compose utiliza la tecnología de contenedores
para desplegar imágenes. Estas imágenes suelen
contener un servicio concreto, por ejemplo un sistema
de bases de datos, un servidor web, etc.
 La propuesta de Docker Compose resuelve la
comunicación entre contenedores que están en
diversas imágenes.
Docker SWARM
 Las funcionalidades de Docker Swarm están incorporadas en Docker para
gestionar clusters de nodos con contenedores de los servicios que
deseemos.
 En un clúster de Swarm existen dos tipos de nodo, Manager y Worker.
 Los nodos Manager son los encargados de gestionar el clúster. Entre todos
los Manager se elige automáticamente un líder y éste es el encargado de
mantener el estado del clúster.
 Los Manager son también los encargados de distribuir las tareas
o tasks (unidades básicas de trabajo) entre todos los nodos Worker, los
cuales reciben estas tareas y las ejecutan.
Los nodos Manager por defecto también actúan como nodos Worker aunque 
se puede cambiar su configuración para que sólo asuman tareas de Manager.
Gracias

Continuar navegando