SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Cloudcomputing
Máster Profesionalizante Ingeniería
Informática 2015-2016
María Isabel García Arenas
8 de diciembre de 2015
Contenedores: Objetivos
1)Conocer las diferentes tecnologías y herramientas de virtualización tanto
para procesamiento, comunicación y almacenamiento.
2)Instalar, configurar, evaluar y optimizar las prestaciones de un servidor
virtual.
3)Configurar los diferentes dispositivos físicos para acceso a los servidores
virtuales: acceso de usuarios, redes de comunicaciones o entrada/salida.
4)Diseñar, implementar y construir un centro de procesamiento de datos virtual.
5)Documentar y mantener una plataforma virtual.
6)Optimizar aplicaciones sobre plataformas virtuales.
7)Conocer diferentes tecnologías relacionadas con la virtualización
(Computación Nube, Utility Computing, Software as a Service) e
implementaciones tales como Google AppSpot, OpenShift o Heroku.
8)Realizar tareas de administración en infraestructura virtual.
Contenedores: Objetivos específicos
1)Entender cómo las diferentes tecnologías de virtualización se integran en la
creación de contenedores.
2) Crear infraestructuras virtuales completas.
3) Comprender los pasos necesarios para la configuración automática de las
mismas.
Contenedores: Aislamiento de procesos
●
Desde los 80 se aislan procesos en Unix
●
El ejemplo más antiguo es Chroot http://es.wikipedia.org/wiki/Chroot (5
minutos)
●
Ejercicio: Explicar con vuestras propias palabras qué hace Chroot
●
Ejemplo: Establecer un entorno aislado para el comando ls (siguiente
transparencia)
●
Comprobación, intentar ir a vuestro directorio $HOME, una vez creada la
jaula
●
El proceso que hace chroot simplemente protege partes del sistema de
archivos, aunque esta protección es fácil saltarsela, pero el proceso de
aislamiento está hecho, es lo que se dice una virtualización ligera.
prompt% JAULA = $HOME/jaula
echo $JAULA
mkdir ­p $JAULA
mkdir ­p $JAULA/{bin,lib64,lib} ' creamos estos tres directorios
cp ­v /bin/{bash,ls} $JAULA/bin  ' copiamos el bash y el comando ls a nuestra jaula
ls ­l $JAULA/bin/     ' deben aparecer bash y ls
ldd /bin/bash ' consultamos las dependencias de librerías de bash y según su salida, copiamos las librerías 
correspondientes dentro de la jaula, en mi caso la salida es
linux­vdso.so.1 =>  (0x00007ffef11ad000)
libtinfo.so.5 => /lib/x86_64­linux­gnu/libtinfo.so.5 (0x00007f2aa5a70000)
libdl.so.2 => /lib/x86_64­linux­gnu/libdl.so.2 (0x00007f2aa586b000)
libc.so.6 => /lib/x86_64­linux­gnu/libc.so.6 (0x00007f2aa54a6000)
/lib64/ld­linux­x86­64.so.2 (0x00007f2aa5cba000)
cp ­v /lib64/ld­linux­x86­64.so.2 $JAULA/lib64/
cp ­v /lib/x86_64­linux­gnu/libtinfo.so.5 $JAULA/lib
cp ­v /lib/x86_64­linux­gnu/libdl.so.2 $JAULA/lib
cp ­v /lib/x86_64­linux­gnu/libc.so.6 $JAULA/lib
ldd /bin/ls ' consultamos las dependencias de ls y la salida es
linux­vdso.so.1 =>  (0x00007ffc52d25000)
libselinux.so.1 => /lib/x86_64­linux­gnu/libselinux.so.1 (0x00007ff1952b4000)
libacl.so.1 => /lib/x86_64­linux­gnu/libacl.so.1 (0x00007ff1950ab000)
libc.so.6 => /lib/x86_64­linux­gnu/libc.so.6 (0x00007ff194ce6000)
libpcre.so.3 => /lib/x86_64­linux­gnu/libpcre.so.3 (0x00007ff194aa8000)
libdl.so.2 => /lib/x86_64­linux­gnu/libdl.so.2 (0x00007ff1948a3000)
/lib64/ld­linux­x86­64.so.2 (0x00007ff1954f8000)
libattr.so.1 => /lib/x86_64­linux­gnu/libattr.so.1 (0x001007ff19469e000)
cp ­v /lib/x86_64­linux­gnu/libselinux.so.1 $JAULA/lib
cp ­v /lib/x86_64­linux­gnu/libacl.so.1 $JAULA/lib
cp ­v /lib/x86_64­linux­gnu/libc.so.6 $JAULA/lib
cp ­v /lib/x86_64­linux­gnu/libpcre.so.3 $JAULA/lib
cp ­v /lib/x86_64­linux­gnu/libdl.so.2 $JAULA/lib
cp ­v /lib64/ld­linux­x86­64.so.2 $JAULA/lib
cp ­v /lib/x86_64­linux­gnu/libattr.so.1 $JAULA/lib
sudo chroot $JAULA /bin/bash
Contenedores: Para qué una virtualización ligera
●
Para crear entornos de prueba
●
Para aislar las consecuencias que se pueden producir al utilizar algún
programa arriesgado
●
Para determinar perfectamente las dependencias de algún programa y
comprobar qué librerías necesita (ldd)
●
Por ejemplo, podríais montar dentro de una jaula un servidor web y
comprobar contra qué tipo de ataques está protegido metiéndolo en una jaula
chroot (está relacionado con uno de los ejercicios propuestos)
●
Problemas de las jaulas chroot: Dejan al descubierto el conjunto de usuarios,
los grupos, los procesos en ejecución, el subsistema de red donde esté el
servidor alojado, etc.
Contenedores: Jaulas BSD
●
Son jaulas más robustas que las creadas con chroot
●
Fueron creadas en FreeBSD a partir de la versión 4.X por Poul-Henning Kamp
●
En Linux no están disponibles hasta los 90.
●
https://en.wikipedia.org/wiki/FreeBSD_jail (5 minutos)
●
Una Jaula BSD crea un entorno que no se distingue de una máquina real
puesto que es una virtualización a nivel del sistema operativo.
●
El sistema operativo permite crear varias instancias de espacios de usuario
que desde el punto de vista de los usuarios son exactamente iguales que una
máquina real.
●
Esos espacios de usuario se pueden llamar: Jaulas, Contenedores, Servidores
virtuales privados (virtual private servers) o Motores de virtualización
(virtualization engines).
Contenedores: Jaulas BSD
●
Para entender el concepto es como un chroot, pero con algunos añadidos:
●
Control de los recursos del sistema
●
Limitación del impacto de las acciones realizadas dentro de la jaula
●
Elementos de una jaula
1)Subárbol de directorios: punto de entrada a la jaula
2)Un nombre de máquina, hostname
3)Una dirección IP que no debe cambiarse durante el tiempo de vida de la
jaula
4)Un comando con una ruta relativa al punto de entrada de la jaula para poder
ser ejecutado
●
Pueden tener sus propios usuarios y su propio root. El root de una jaula será
root, pero sólo dentro de ella, y no fuera.
Contenedores: Jaulas BSD
●
Las herramientas que equivalen a una jaula BSD en linux son:
●
-vServers:
●
OpenVZ
●
XLC
●
Las tres herramientas dan soporte y gesionan las jaulas con sus
particularidades, pero todas se ajustan a lo que hemos entendido como una
Jaula BSD o un contenedor.
●
Las jaulas BSD sólo tienen dos restricciones:
●
Comparten el kernel del sistema operativo con la máquina que aloja la jaula
●
Comparte la misma CPU
Contenedores: vServers
●
https://en.wikipedia.org/wiki/Linux-VServer
●
Fue creado por Jacques Gélinas y lo mantiene Herbert Pötzl
●
Es una herramienta Open Source que permite controlar el acceso de una jaula
a la memoria, el tiempo de CPU, al direccionamiento de la red además del
control de acceso al sistema de ficheros.
●
Podéis tener una visión completa en http://linux-vserver.org/Overview
Ejemplo (http://crysol.org/es/node/378) : con un kernel de sistema que lo
soporte como linux-image-2.6.17-2-vserver-686 ( en una máquina virtual)
●
sudo apt­get install util­vserver
●
sudo apt­get install vserver­debiantools
●
cat /etc/vservers/newvserver­vars ' la salida debe ser: # Configuration file for newvserver
# See man newvserver for the variables that you can set here.
DIST="lucid"
MIRROR="http://es.archive.ubuntu.com/ubuntu/"
●
newvserver ­­hostname JaulaVServer ­­domain midominio.local ­­ip 10.10.10.15
Contenedores: openVZ
●
https://es.wikipedia.org/wiki/OpenVZ (5 minutos)
●
Es software Libre con licencia GPL
●
Las características son (https://openvz.org/Main_Page):
●
Se ejecuta de forma independiente cada jaula
●
Se pueden reiniciar las jaulas
●
Tiene soporte para root en cada jaula
●
Gestión de usuarios propios de la jaula
●
Gesión de Ips, procesos, ficheos aplicaciones, librerías y ficheros de
configuración
●
Su versión comercial es Virtuozzo
●
Ejemplo en
http://www.unixmen.com/install-and-configure-openvz-in-ubuntu/ para
Ubuntu 14.04
Contenedores: LXC
●
https://es.wikipedia.org/wiki/LXC
●
Proporciona otra herramienta para crear jaulas BSD.
●
Utiliza la utilidad que proporciona cgroups, control groups, (
https://en.wikipedia.org/wiki/Cgroups) que permite limitar el uso de algunas
cuentas aislando el uso de CPU, de la memoria, de operaciones de disco, de
red, etc. Fue creado por Paul Menage y Rohit Seth y ahora lo mantiene el
equipo de freedesktop.org y de kernel.org.
●
La mayoría de sus partes tienen licencia LGPLv2.1 menos una parte que por
compatibilidad con Android tiene licencia BSD o GPLv2
●
El objetivo de LXC es crear un entorno lo más parecido a una máquina virtual
pero manteniendo el mismo kernel que la máquina donde se aloja la jaula
Contenedores: LXC
●
Se ha extendido más que los anteriores porque utiliza herramientas sencillas
como bloques que son:
●
La librería liblxc
●
APIs como punto de unión a lenguajes como python3, lua, Go, ruby,
python2 y Haskell
●
Herramientas de control de las jaulas
●
Soporte para creación de plantillas de contenedores
●
Actualmente existe una versión evolucionada, todavía no muy extendida que
es LXD que está aún en desarrollo
●
El ejercicio 1 está en
https://fortinux.com/ubuntu/tutorial-instalar-lxc-en-gnulinux/
Contenedores: LXC
Contenedores: Utilidades LXC
●
La creación de contenedores con LXC es bastante sencilla
●
Además provee de varias herramientas útiles, por ejemplo:
●
Listar los contenedores ejecutándose: sudo lxc-ls
●
Parar contenedores lxc-stop
●
Lxc-clone
●
Lxc-info -n <nombre del contenedor> (muestra información diferente si el
contenedor está en funcionamiento o no
●
… podéis ver en la consola los diferentes comandos que empiezan por lxc...
●
En general tenéis un repaso de todos los comandos en
http://websetnet.com/es/how-to-manage-linux-containers-using-lxc/
Contenedores: Utilidades LXC
●
Otras características
●
Al arrancar el contenedor se levanta un interfaz de red que dará servicio al
contenedor (interfaz lxcbr0 y veth??????) (comprobarlo con ifconfig)
●
El contenedor tiene conexión de red (hacer ping a alguna parte)
●
Ejercicio: iniciar dos contenedores del mismo tipo en dos ventanas
diferentes y utilizar lxc-stop -n nombre_contenedor. ¿Os da eso alguna idea
de cómo deben ser los nombres de los contenedores?
●
Lxc-webpanel: http://lxc-webpanel.github.io/
Contenedores: Utilidades LXC
●
Lxc-webpanel: http://lxc-webpanel.github.io/
●
Ejecutar: sudo wget https://lxc-webpanel.github.io/tools/install.sh -O - | sudo
bash
Contenedores: Aplicaciones
●
Las aplicaciones dentro de un contenedor tienen una peculiaridad y es que
pueden utilizarse para configurar el hardware que supuestamente tiene
asignado el contenedor mediante software (Software configuration
management -
https://en.wikipedia.org/wiki/Software_configuration_management)
●
Cuando se instala una aplicación en un contenedor, hay que tener claro que
todas las dependencias de esta están cubiertas
●
Herramientas CMS:
●
Salt
●
Ansible
●
Chef
●
Juju
●
Puppet
Contenedores: Juju
●
https://jujucharms.com/
●
JuJu permite desplegar, configurar y mantener, en general, servicios cloud
●
Tiene interfaz texto y gráfica
●
Necesita: Máquina con Ubuntu o con Window, un par de claves ssh (ssh-
keygen -t rsa -b 2048), un entorno donde se pueda ofertar un servicio cloud
cuando se necesite
●
Podéis ver cual es su filosofía y como funciona utilizando la demo
https://demo.jujucharms.com/inspector/19862227$/machine/
Contenedores: Juju
●
Echar un ojo a los comandos con juju –help commands o juju –help local-
provider
●
Ejemplo
sudo add-apt-repository ppa:juju/stable
sudo apt-get update && sudo apt-get install juju-core juju-local
juju init (editar el fichero que genera y poner “default: local”)
juju switch local
sudo apt-get install mongodb-server MongoDB (resuelto en juju-local)
juju bootstrap (que crea el contenedor (juju-agent-mgarenas-local))
Juju deploy <servicio> (y después juju expose)
Echarle un ojo al directorio que ha creado en ~/.juju/local
●
El ejercicio de juju sería:
Contenedores: Juju
●
Para verlo todo de forma gráfica, el propio juju ofrece un servicio que podemos
desplegar y utilizar, es juju-gui
●
Instalar el paquete juju-quickstart
●
Desplegar el servicio juju-gui
●
Exponer el servicio juju-gui
●
Mirar en qué IP está disponible con juju-status y acceder a él.
●
Seguir las instrucciones para obtener el password del usuario admin
●
Curiosear a ver qué se puede hacer y cómo
Contenedores: Hipervisores
●
Un supervisor es un gestor de contenedores. Presentan los sistemas operativos
virtualizados y evitan que el sistema virtual pueda acceder al hardwre.
●
Existen tres tipos de hipervisores:
●
Hipervisores bare-metal (también llamados nativos o unhosted). Se
caracteriza porque se ejecuta directamente sobre el hardware de la máquina.
Ejemplo: VMWare. Pueden ser monolíticos (administran el hardware de la
máquina y emulan el hardware de las MV) o de microkernel (reparten el
sistema físico entre las máquinas virutales)
●
Hipervisores tipo 2 o hosted. En este tipo el software del hipervisor se
ejecuta directamente sobre el sistema operativo de la máquina física y lo que
gestiona, los contenedores, van por encima, osea que se crea una estructura
de tres niveles. La máquina virtual de java, lleva este sistema
●
Hipervisores híbridos: tanto el S.O. como el hipervisor tienen acceso al
hardware de la máquina, por ejemplo VirtualBox utiliza este enfoque
Contenedores: Hipervisores
http://www.datakeeper.es/?p=716
Contenedores: Hipervisores
●
El modo de operación de los monolíticos es:
●
El hardware que el hipervisor simula, tiene que capturar las peticiones de las
máquinas virtuales existentes hacia el harware que ellas ven.
●
Se redirige la llamada interceptada hacia el driver del hipervisor lo que
provoca muchos cambios de contexto.
●
El driver del hipervisor redirige la llamada al driver físico
●
El modo de operación de los hipervisores los drivers están en las própias
máquinas virtuales y en realidad son, en muchos casos, enlaces al driver físico.
●
Contenedores: Hipervisores
●
Estos hipervisores pueden ser gestionados y programados mediante una API.
●
La utilidad que trae Linux para ello es la librería libvirt
●
●
●
●
Hay que reiniciar la sesión de usuario para que tome efecto
●
Las máquinas virtuales existentes, no siempre las ve, pero las creadas con lxc
parece que no tiene problemas, siempre que estés en el directorio donde está
instalada
https://help.ubuntu.com/14.04/serverguide/libvirt.html
Contenedores: Hipervisores
●
En este punto, el hipervisor tiene conciencia de que la máquina virtual
container-test es para gestionarla él.
●
Podéis ver más información de cómo utilizar virsh en
http://libvirt.org/drvlxc.html
Contenedores: Docker
●
El papá de los gestores de contenedores es Docker
●
Soporta grandes volúmenes de datos para gestionar, por lo que tiene bastante
expansión en los últimos tiempos.
●
Docker permite no sólo gestionar contenedores, sino también orquestarlos.
●
Es Open Source
●
Sus principales características:
●
Es portable
●
Es ligero (Comparado con VirtualBox es aproximadamente un 90% más
ligero)
●
No necesita ninguna otra herramienta adicional, ya que sólo incluye las
librerías y archivos propios de la máquina virtual que gestiona, por lo que no
se duplica al completo el sistema operativo.
●
Algunos defienden que es Lxc v.2.0
Contenedores: Docker
●
Incluso algunos gigantes del Cloud tienen previsto soportarlo como Google (
http://googlecloudplatform.blogspot.com.es/2013/12/google-compute-engine-
is-now-generally-available.html
)
●
Instalación:
●
http://docker-ee.blogspot.com.es/2014/08/instalar-docker-en-ubuntu-1404.
html
●
Comprobación de que funciona todo OK (como root)
●
Ahora ya sólo nos falta jugar con él
Contenedores: Docker
●
Bajarse una imagen de ubuntu: docker pull ubuntu
●
Existen ya numerosas imágenes subidas en https://hub.docker.com/
●
Ejecutar una orden dentro de una imagen ya instalada: docker run ubuntu ls
●
Ver las imágenes creadas: docker images o docker images –no-trunc
●
●
Abrir una consola en un determinado contenedor:
Contenedores: Docker
●
Comandos de docker (docker --help)
●
Hacer un ifconfig dentro y fuera del contenedor y ver qué ha pasado.
●
Podemos instalar dentro de una de las imágenes un servidor web, por ejemplo
nginx (apt-get install nginx)-> docker run -i -t ubuntu /bin/bash
●
Y un cliente ssh para comunicarnos con el contenedor
●
Para ver el estado y las características de cada contedor, usar docker inspect
ID_LARGO (transparencia anterior)
●
Abrir una cuenta en https://hub.docker.com/ y crear un repositorio para
poder subir las imágenes que queráis y podáis recuperarlas cuando queráis.
En mi caso se llama ubuntucc
●
Usando mi usuario del hub que es mgarenas y mi repositorio que es ubuntu cc
le pongo un tag a mi imagen local con: docker tag d55e68e6cc9c
mgarenas/ubuntucc:latest (https://docs.docker.com/mac/step_six/)
Contenedores: Docker
●
Una vez asignado el tag, ya podemos ver el contenedor con docker images
●
●
●
●
Hacemos login en remoto al repositorio
●
●
●
Para hacer una imag:en
●
Inicializamos un terminal dentro del contenedor donde vayamos a crear la
imagen con docker run -i -t ubuntu /bin/bash
●
Instalamos lo que necesitemos dentro y sin salir.
●
En otro terminal hacemos un commit, y luego un push al dockerHub
Contenedores: Docker
●
Contenedores: Docker
Cloud Computing. Contenedores

Más contenido relacionado

La actualidad más candente (20)

Virtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novioVirtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novio
 
Workshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los ContenedoresWorkshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los Contenedores
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
 
Linux
LinuxLinux
Linux
 
Introduccion a linux
Introduccion a linuxIntroduccion a linux
Introduccion a linux
 
Linux
LinuxLinux
Linux
 
Modulo 1 introducción a linux
Modulo 1   introducción a linuxModulo 1   introducción a linux
Modulo 1 introducción a linux
 
Metacoretex
MetacoretexMetacoretex
Metacoretex
 
Linux
LinuxLinux
Linux
 
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
 
Modulo 7.3 linux
Modulo 7.3  linuxModulo 7.3  linux
Modulo 7.3 linux
 
S.O LINUX
S.O LINUXS.O LINUX
S.O LINUX
 
Curso IDE UPM-IGN-AECI Madrid-Spain 2009
Curso IDE UPM-IGN-AECI Madrid-Spain 2009Curso IDE UPM-IGN-AECI Madrid-Spain 2009
Curso IDE UPM-IGN-AECI Madrid-Spain 2009
 
El Proyecto Moby
El Proyecto MobyEl Proyecto Moby
El Proyecto Moby
 
LINUX
LINUXLINUX
LINUX
 
Presentación1(equipo 3)
Presentación1(equipo 3)Presentación1(equipo 3)
Presentación1(equipo 3)
 
Control de integridad y calidad en repositorios DSpace
Control de integridad y calidad en repositorios DSpaceControl de integridad y calidad en repositorios DSpace
Control de integridad y calidad en repositorios DSpace
 
Introduccion gnu linux
Introduccion gnu   linuxIntroduccion gnu   linux
Introduccion gnu linux
 
Temas
TemasTemas
Temas
 
Linux Intro
Linux IntroLinux Intro
Linux Intro
 

Destacado

[BELGIË] Nieuwe doelgroepkortingen Vlaanderen
[BELGIË] Nieuwe doelgroepkortingen Vlaanderen[BELGIË] Nieuwe doelgroepkortingen Vlaanderen
[BELGIË] Nieuwe doelgroepkortingen VlaanderenLEYTON
 
From the Frontline of RASP Adoption
From the Frontline of RASP AdoptionFrom the Frontline of RASP Adoption
From the Frontline of RASP AdoptionGoran Begic
 
ukraine digital market overview 30.12.2013
ukraine digital market overview 30.12.2013ukraine digital market overview 30.12.2013
ukraine digital market overview 30.12.2013Sergey Lyubov
 
Soutenance Essilor - Master PIC
Soutenance Essilor - Master PICSoutenance Essilor - Master PIC
Soutenance Essilor - Master PICDavid Nowinsky
 
How to increase sales though e-mail marketing in 6 months
How to increase sales though e-mail marketing in 6 monthsHow to increase sales though e-mail marketing in 6 months
How to increase sales though e-mail marketing in 6 monthsWorld Brand Academy
 
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032PECB
 

Destacado (13)

Summary
SummarySummary
Summary
 
[BELGIË] Nieuwe doelgroepkortingen Vlaanderen
[BELGIË] Nieuwe doelgroepkortingen Vlaanderen[BELGIË] Nieuwe doelgroepkortingen Vlaanderen
[BELGIË] Nieuwe doelgroepkortingen Vlaanderen
 
Hopkins Resume
Hopkins ResumeHopkins Resume
Hopkins Resume
 
From the Frontline of RASP Adoption
From the Frontline of RASP AdoptionFrom the Frontline of RASP Adoption
From the Frontline of RASP Adoption
 
SolodyankinaOA
SolodyankinaOASolodyankinaOA
SolodyankinaOA
 
ukraine digital market overview 30.12.2013
ukraine digital market overview 30.12.2013ukraine digital market overview 30.12.2013
ukraine digital market overview 30.12.2013
 
Caribbean DDoS activity
Caribbean DDoS activityCaribbean DDoS activity
Caribbean DDoS activity
 
HPLC high performance liquid chromatography
HPLC high performance liquid chromatographyHPLC high performance liquid chromatography
HPLC high performance liquid chromatography
 
TIK BAB 1 KELAS 9
TIK BAB 1 KELAS 9TIK BAB 1 KELAS 9
TIK BAB 1 KELAS 9
 
Pitch SmartWays
Pitch SmartWaysPitch SmartWays
Pitch SmartWays
 
Soutenance Essilor - Master PIC
Soutenance Essilor - Master PICSoutenance Essilor - Master PIC
Soutenance Essilor - Master PIC
 
How to increase sales though e-mail marketing in 6 months
How to increase sales though e-mail marketing in 6 monthsHow to increase sales though e-mail marketing in 6 months
How to increase sales though e-mail marketing in 6 months
 
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
 

Similar a Cloud Computing. Contenedores

Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para DummiesRaúl Unzué
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
Presentación OpenStack Comunidad Venezuela
Presentación OpenStack Comunidad VenezuelaPresentación OpenStack Comunidad Venezuela
Presentación OpenStack Comunidad VenezuelaEnder Mujica Diaz
 
Introduccion a la Virtualización.pdf
 Introduccion a la Virtualización.pdf Introduccion a la Virtualización.pdf
Introduccion a la Virtualización.pdfJulianHernandez858831
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladoressergiovier
 
Arquitectura 63583.pptx
Arquitectura 63583.pptxArquitectura 63583.pptx
Arquitectura 63583.pptxlvaroTorres26
 
Bii t03 - sistemas operarivos. windows, linux y unix
Bii t03 - sistemas operarivos. windows, linux y unixBii t03 - sistemas operarivos. windows, linux y unix
Bii t03 - sistemas operarivos. windows, linux y unixnuria garcia
 
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2Larry Srd
 
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2Larry Srd
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJCMicael Gallego
 
Notas de la version de MKVToolNix 79.0
 Notas de la version de MKVToolNix 79.0 Notas de la version de MKVToolNix 79.0
Notas de la version de MKVToolNix 79.0PILFRUTFELIZ
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Gustavo Andres Brey
 
Sistema operativo(Linux)
Sistema operativo(Linux)Sistema operativo(Linux)
Sistema operativo(Linux)Andhy Santos
 
sistemas operativos.pptx
sistemas operativos.pptxsistemas operativos.pptx
sistemas operativos.pptxWilson Cardenas
 
Resumen investigación tesina gnu linux
Resumen investigación tesina gnu linuxResumen investigación tesina gnu linux
Resumen investigación tesina gnu linuxcrosbycarbajal
 

Similar a Cloud Computing. Contenedores (20)

Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para Dummies
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Presentación OpenStack Comunidad Venezuela
Presentación OpenStack Comunidad VenezuelaPresentación OpenStack Comunidad Venezuela
Presentación OpenStack Comunidad Venezuela
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Introduccion a la Virtualización.pdf
 Introduccion a la Virtualización.pdf Introduccion a la Virtualización.pdf
Introduccion a la Virtualización.pdf
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladores
 
Arquitectura 63583.pptx
Arquitectura 63583.pptxArquitectura 63583.pptx
Arquitectura 63583.pptx
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Bii t03 - sistemas operarivos. windows, linux y unix
Bii t03 - sistemas operarivos. windows, linux y unixBii t03 - sistemas operarivos. windows, linux y unix
Bii t03 - sistemas operarivos. windows, linux y unix
 
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
 
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
Arquitectura sistema operativo-conceptos_b_sicos_sobre_s.o2
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
Notas de la version de MKVToolNix 79.0
 Notas de la version de MKVToolNix 79.0 Notas de la version de MKVToolNix 79.0
Notas de la version de MKVToolNix 79.0
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
Presentacion GNU Linux
Presentacion GNU LinuxPresentacion GNU Linux
Presentacion GNU Linux
 
Sistema operativo(Linux)
Sistema operativo(Linux)Sistema operativo(Linux)
Sistema operativo(Linux)
 
sistemas operativos.pptx
sistemas operativos.pptxsistemas operativos.pptx
sistemas operativos.pptx
 
Resumen investigación tesina gnu linux
Resumen investigación tesina gnu linuxResumen investigación tesina gnu linux
Resumen investigación tesina gnu linux
 

Más de pacvslideshare

Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)pacvslideshare
 
Finding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository miningFinding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository mining pacvslideshare
 
Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7pacvslideshare
 
Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6pacvslideshare
 
Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5pacvslideshare
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4pacvslideshare
 
Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3pacvslideshare
 
Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2pacvslideshare
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1pacvslideshare
 
Servidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. PresentaciónServidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. Presentaciónpacvslideshare
 
Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)pacvslideshare
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrantpacvslideshare
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansiblepacvslideshare
 
Cloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionesCloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionespacvslideshare
 
Cloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM BluemixCloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM Bluemixpacvslideshare
 
Cloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. AzureCloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. Azurepacvslideshare
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemupacvslideshare
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualizaciónpacvslideshare
 
Cloud Computing. Presentación general
Cloud Computing. Presentación generalCloud Computing. Presentación general
Cloud Computing. Presentación generalpacvslideshare
 
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...pacvslideshare
 

Más de pacvslideshare (20)

Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
 
Finding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository miningFinding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository mining
 
Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7
 
Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6Servidores web de altas prestaciones. Tema 6
Servidores web de altas prestaciones. Tema 6
 
Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5Servidores web de altas prestaciones. Tema 5
Servidores web de altas prestaciones. Tema 5
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4
 
Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3Servidores web de altas prestaciones. Tema 3
Servidores web de altas prestaciones. Tema 3
 
Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1
 
Servidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. PresentaciónServidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. Presentación
 
Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrant
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansible
 
Cloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionesCloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuraciones
 
Cloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM BluemixCloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM Bluemix
 
Cloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. AzureCloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. Azure
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemu
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualización
 
Cloud Computing. Presentación general
Cloud Computing. Presentación generalCloud Computing. Presentación general
Cloud Computing. Presentación general
 
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
 

Último

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 

Cloud Computing. Contenedores

  • 1. Cloudcomputing Máster Profesionalizante Ingeniería Informática 2015-2016 María Isabel García Arenas 8 de diciembre de 2015
  • 2. Contenedores: Objetivos 1)Conocer las diferentes tecnologías y herramientas de virtualización tanto para procesamiento, comunicación y almacenamiento. 2)Instalar, configurar, evaluar y optimizar las prestaciones de un servidor virtual. 3)Configurar los diferentes dispositivos físicos para acceso a los servidores virtuales: acceso de usuarios, redes de comunicaciones o entrada/salida. 4)Diseñar, implementar y construir un centro de procesamiento de datos virtual. 5)Documentar y mantener una plataforma virtual. 6)Optimizar aplicaciones sobre plataformas virtuales. 7)Conocer diferentes tecnologías relacionadas con la virtualización (Computación Nube, Utility Computing, Software as a Service) e implementaciones tales como Google AppSpot, OpenShift o Heroku. 8)Realizar tareas de administración en infraestructura virtual.
  • 3. Contenedores: Objetivos específicos 1)Entender cómo las diferentes tecnologías de virtualización se integran en la creación de contenedores. 2) Crear infraestructuras virtuales completas. 3) Comprender los pasos necesarios para la configuración automática de las mismas.
  • 4. Contenedores: Aislamiento de procesos ● Desde los 80 se aislan procesos en Unix ● El ejemplo más antiguo es Chroot http://es.wikipedia.org/wiki/Chroot (5 minutos) ● Ejercicio: Explicar con vuestras propias palabras qué hace Chroot ● Ejemplo: Establecer un entorno aislado para el comando ls (siguiente transparencia) ● Comprobación, intentar ir a vuestro directorio $HOME, una vez creada la jaula ● El proceso que hace chroot simplemente protege partes del sistema de archivos, aunque esta protección es fácil saltarsela, pero el proceso de aislamiento está hecho, es lo que se dice una virtualización ligera.
  • 5. prompt% JAULA = $HOME/jaula echo $JAULA mkdir ­p $JAULA mkdir ­p $JAULA/{bin,lib64,lib} ' creamos estos tres directorios cp ­v /bin/{bash,ls} $JAULA/bin  ' copiamos el bash y el comando ls a nuestra jaula ls ­l $JAULA/bin/     ' deben aparecer bash y ls ldd /bin/bash ' consultamos las dependencias de librerías de bash y según su salida, copiamos las librerías  correspondientes dentro de la jaula, en mi caso la salida es linux­vdso.so.1 =>  (0x00007ffef11ad000) libtinfo.so.5 => /lib/x86_64­linux­gnu/libtinfo.so.5 (0x00007f2aa5a70000) libdl.so.2 => /lib/x86_64­linux­gnu/libdl.so.2 (0x00007f2aa586b000) libc.so.6 => /lib/x86_64­linux­gnu/libc.so.6 (0x00007f2aa54a6000) /lib64/ld­linux­x86­64.so.2 (0x00007f2aa5cba000) cp ­v /lib64/ld­linux­x86­64.so.2 $JAULA/lib64/ cp ­v /lib/x86_64­linux­gnu/libtinfo.so.5 $JAULA/lib cp ­v /lib/x86_64­linux­gnu/libdl.so.2 $JAULA/lib cp ­v /lib/x86_64­linux­gnu/libc.so.6 $JAULA/lib ldd /bin/ls ' consultamos las dependencias de ls y la salida es linux­vdso.so.1 =>  (0x00007ffc52d25000) libselinux.so.1 => /lib/x86_64­linux­gnu/libselinux.so.1 (0x00007ff1952b4000) libacl.so.1 => /lib/x86_64­linux­gnu/libacl.so.1 (0x00007ff1950ab000) libc.so.6 => /lib/x86_64­linux­gnu/libc.so.6 (0x00007ff194ce6000) libpcre.so.3 => /lib/x86_64­linux­gnu/libpcre.so.3 (0x00007ff194aa8000) libdl.so.2 => /lib/x86_64­linux­gnu/libdl.so.2 (0x00007ff1948a3000) /lib64/ld­linux­x86­64.so.2 (0x00007ff1954f8000) libattr.so.1 => /lib/x86_64­linux­gnu/libattr.so.1 (0x001007ff19469e000) cp ­v /lib/x86_64­linux­gnu/libselinux.so.1 $JAULA/lib cp ­v /lib/x86_64­linux­gnu/libacl.so.1 $JAULA/lib cp ­v /lib/x86_64­linux­gnu/libc.so.6 $JAULA/lib cp ­v /lib/x86_64­linux­gnu/libpcre.so.3 $JAULA/lib cp ­v /lib/x86_64­linux­gnu/libdl.so.2 $JAULA/lib cp ­v /lib64/ld­linux­x86­64.so.2 $JAULA/lib cp ­v /lib/x86_64­linux­gnu/libattr.so.1 $JAULA/lib sudo chroot $JAULA /bin/bash
  • 6. Contenedores: Para qué una virtualización ligera ● Para crear entornos de prueba ● Para aislar las consecuencias que se pueden producir al utilizar algún programa arriesgado ● Para determinar perfectamente las dependencias de algún programa y comprobar qué librerías necesita (ldd) ● Por ejemplo, podríais montar dentro de una jaula un servidor web y comprobar contra qué tipo de ataques está protegido metiéndolo en una jaula chroot (está relacionado con uno de los ejercicios propuestos) ● Problemas de las jaulas chroot: Dejan al descubierto el conjunto de usuarios, los grupos, los procesos en ejecución, el subsistema de red donde esté el servidor alojado, etc.
  • 7. Contenedores: Jaulas BSD ● Son jaulas más robustas que las creadas con chroot ● Fueron creadas en FreeBSD a partir de la versión 4.X por Poul-Henning Kamp ● En Linux no están disponibles hasta los 90. ● https://en.wikipedia.org/wiki/FreeBSD_jail (5 minutos) ● Una Jaula BSD crea un entorno que no se distingue de una máquina real puesto que es una virtualización a nivel del sistema operativo. ● El sistema operativo permite crear varias instancias de espacios de usuario que desde el punto de vista de los usuarios son exactamente iguales que una máquina real. ● Esos espacios de usuario se pueden llamar: Jaulas, Contenedores, Servidores virtuales privados (virtual private servers) o Motores de virtualización (virtualization engines).
  • 8. Contenedores: Jaulas BSD ● Para entender el concepto es como un chroot, pero con algunos añadidos: ● Control de los recursos del sistema ● Limitación del impacto de las acciones realizadas dentro de la jaula ● Elementos de una jaula 1)Subárbol de directorios: punto de entrada a la jaula 2)Un nombre de máquina, hostname 3)Una dirección IP que no debe cambiarse durante el tiempo de vida de la jaula 4)Un comando con una ruta relativa al punto de entrada de la jaula para poder ser ejecutado ● Pueden tener sus propios usuarios y su propio root. El root de una jaula será root, pero sólo dentro de ella, y no fuera.
  • 9. Contenedores: Jaulas BSD ● Las herramientas que equivalen a una jaula BSD en linux son: ● -vServers: ● OpenVZ ● XLC ● Las tres herramientas dan soporte y gesionan las jaulas con sus particularidades, pero todas se ajustan a lo que hemos entendido como una Jaula BSD o un contenedor. ● Las jaulas BSD sólo tienen dos restricciones: ● Comparten el kernel del sistema operativo con la máquina que aloja la jaula ● Comparte la misma CPU
  • 10. Contenedores: vServers ● https://en.wikipedia.org/wiki/Linux-VServer ● Fue creado por Jacques Gélinas y lo mantiene Herbert Pötzl ● Es una herramienta Open Source que permite controlar el acceso de una jaula a la memoria, el tiempo de CPU, al direccionamiento de la red además del control de acceso al sistema de ficheros. ● Podéis tener una visión completa en http://linux-vserver.org/Overview Ejemplo (http://crysol.org/es/node/378) : con un kernel de sistema que lo soporte como linux-image-2.6.17-2-vserver-686 ( en una máquina virtual) ● sudo apt­get install util­vserver ● sudo apt­get install vserver­debiantools ● cat /etc/vservers/newvserver­vars ' la salida debe ser: # Configuration file for newvserver # See man newvserver for the variables that you can set here. DIST="lucid" MIRROR="http://es.archive.ubuntu.com/ubuntu/" ● newvserver ­­hostname JaulaVServer ­­domain midominio.local ­­ip 10.10.10.15
  • 11. Contenedores: openVZ ● https://es.wikipedia.org/wiki/OpenVZ (5 minutos) ● Es software Libre con licencia GPL ● Las características son (https://openvz.org/Main_Page): ● Se ejecuta de forma independiente cada jaula ● Se pueden reiniciar las jaulas ● Tiene soporte para root en cada jaula ● Gestión de usuarios propios de la jaula ● Gesión de Ips, procesos, ficheos aplicaciones, librerías y ficheros de configuración ● Su versión comercial es Virtuozzo ● Ejemplo en http://www.unixmen.com/install-and-configure-openvz-in-ubuntu/ para Ubuntu 14.04
  • 12. Contenedores: LXC ● https://es.wikipedia.org/wiki/LXC ● Proporciona otra herramienta para crear jaulas BSD. ● Utiliza la utilidad que proporciona cgroups, control groups, ( https://en.wikipedia.org/wiki/Cgroups) que permite limitar el uso de algunas cuentas aislando el uso de CPU, de la memoria, de operaciones de disco, de red, etc. Fue creado por Paul Menage y Rohit Seth y ahora lo mantiene el equipo de freedesktop.org y de kernel.org. ● La mayoría de sus partes tienen licencia LGPLv2.1 menos una parte que por compatibilidad con Android tiene licencia BSD o GPLv2 ● El objetivo de LXC es crear un entorno lo más parecido a una máquina virtual pero manteniendo el mismo kernel que la máquina donde se aloja la jaula
  • 13. Contenedores: LXC ● Se ha extendido más que los anteriores porque utiliza herramientas sencillas como bloques que son: ● La librería liblxc ● APIs como punto de unión a lenguajes como python3, lua, Go, ruby, python2 y Haskell ● Herramientas de control de las jaulas ● Soporte para creación de plantillas de contenedores ● Actualmente existe una versión evolucionada, todavía no muy extendida que es LXD que está aún en desarrollo ● El ejercicio 1 está en https://fortinux.com/ubuntu/tutorial-instalar-lxc-en-gnulinux/
  • 15. Contenedores: Utilidades LXC ● La creación de contenedores con LXC es bastante sencilla ● Además provee de varias herramientas útiles, por ejemplo: ● Listar los contenedores ejecutándose: sudo lxc-ls ● Parar contenedores lxc-stop ● Lxc-clone ● Lxc-info -n <nombre del contenedor> (muestra información diferente si el contenedor está en funcionamiento o no ● … podéis ver en la consola los diferentes comandos que empiezan por lxc... ● En general tenéis un repaso de todos los comandos en http://websetnet.com/es/how-to-manage-linux-containers-using-lxc/
  • 16. Contenedores: Utilidades LXC ● Otras características ● Al arrancar el contenedor se levanta un interfaz de red que dará servicio al contenedor (interfaz lxcbr0 y veth??????) (comprobarlo con ifconfig) ● El contenedor tiene conexión de red (hacer ping a alguna parte) ● Ejercicio: iniciar dos contenedores del mismo tipo en dos ventanas diferentes y utilizar lxc-stop -n nombre_contenedor. ¿Os da eso alguna idea de cómo deben ser los nombres de los contenedores? ● Lxc-webpanel: http://lxc-webpanel.github.io/
  • 17. Contenedores: Utilidades LXC ● Lxc-webpanel: http://lxc-webpanel.github.io/ ● Ejecutar: sudo wget https://lxc-webpanel.github.io/tools/install.sh -O - | sudo bash
  • 18. Contenedores: Aplicaciones ● Las aplicaciones dentro de un contenedor tienen una peculiaridad y es que pueden utilizarse para configurar el hardware que supuestamente tiene asignado el contenedor mediante software (Software configuration management - https://en.wikipedia.org/wiki/Software_configuration_management) ● Cuando se instala una aplicación en un contenedor, hay que tener claro que todas las dependencias de esta están cubiertas ● Herramientas CMS: ● Salt ● Ansible ● Chef ● Juju ● Puppet
  • 19. Contenedores: Juju ● https://jujucharms.com/ ● JuJu permite desplegar, configurar y mantener, en general, servicios cloud ● Tiene interfaz texto y gráfica ● Necesita: Máquina con Ubuntu o con Window, un par de claves ssh (ssh- keygen -t rsa -b 2048), un entorno donde se pueda ofertar un servicio cloud cuando se necesite ● Podéis ver cual es su filosofía y como funciona utilizando la demo https://demo.jujucharms.com/inspector/19862227$/machine/
  • 20. Contenedores: Juju ● Echar un ojo a los comandos con juju –help commands o juju –help local- provider ● Ejemplo sudo add-apt-repository ppa:juju/stable sudo apt-get update && sudo apt-get install juju-core juju-local juju init (editar el fichero que genera y poner “default: local”) juju switch local sudo apt-get install mongodb-server MongoDB (resuelto en juju-local) juju bootstrap (que crea el contenedor (juju-agent-mgarenas-local)) Juju deploy <servicio> (y después juju expose) Echarle un ojo al directorio que ha creado en ~/.juju/local ● El ejercicio de juju sería:
  • 21. Contenedores: Juju ● Para verlo todo de forma gráfica, el propio juju ofrece un servicio que podemos desplegar y utilizar, es juju-gui ● Instalar el paquete juju-quickstart ● Desplegar el servicio juju-gui ● Exponer el servicio juju-gui ● Mirar en qué IP está disponible con juju-status y acceder a él. ● Seguir las instrucciones para obtener el password del usuario admin ● Curiosear a ver qué se puede hacer y cómo
  • 22. Contenedores: Hipervisores ● Un supervisor es un gestor de contenedores. Presentan los sistemas operativos virtualizados y evitan que el sistema virtual pueda acceder al hardwre. ● Existen tres tipos de hipervisores: ● Hipervisores bare-metal (también llamados nativos o unhosted). Se caracteriza porque se ejecuta directamente sobre el hardware de la máquina. Ejemplo: VMWare. Pueden ser monolíticos (administran el hardware de la máquina y emulan el hardware de las MV) o de microkernel (reparten el sistema físico entre las máquinas virutales) ● Hipervisores tipo 2 o hosted. En este tipo el software del hipervisor se ejecuta directamente sobre el sistema operativo de la máquina física y lo que gestiona, los contenedores, van por encima, osea que se crea una estructura de tres niveles. La máquina virtual de java, lleva este sistema ● Hipervisores híbridos: tanto el S.O. como el hipervisor tienen acceso al hardware de la máquina, por ejemplo VirtualBox utiliza este enfoque
  • 24. Contenedores: Hipervisores ● El modo de operación de los monolíticos es: ● El hardware que el hipervisor simula, tiene que capturar las peticiones de las máquinas virtuales existentes hacia el harware que ellas ven. ● Se redirige la llamada interceptada hacia el driver del hipervisor lo que provoca muchos cambios de contexto. ● El driver del hipervisor redirige la llamada al driver físico ● El modo de operación de los hipervisores los drivers están en las própias máquinas virtuales y en realidad son, en muchos casos, enlaces al driver físico. ●
  • 25. Contenedores: Hipervisores ● Estos hipervisores pueden ser gestionados y programados mediante una API. ● La utilidad que trae Linux para ello es la librería libvirt ● ● ● ● Hay que reiniciar la sesión de usuario para que tome efecto ● Las máquinas virtuales existentes, no siempre las ve, pero las creadas con lxc parece que no tiene problemas, siempre que estés en el directorio donde está instalada https://help.ubuntu.com/14.04/serverguide/libvirt.html
  • 26. Contenedores: Hipervisores ● En este punto, el hipervisor tiene conciencia de que la máquina virtual container-test es para gestionarla él. ● Podéis ver más información de cómo utilizar virsh en http://libvirt.org/drvlxc.html
  • 27. Contenedores: Docker ● El papá de los gestores de contenedores es Docker ● Soporta grandes volúmenes de datos para gestionar, por lo que tiene bastante expansión en los últimos tiempos. ● Docker permite no sólo gestionar contenedores, sino también orquestarlos. ● Es Open Source ● Sus principales características: ● Es portable ● Es ligero (Comparado con VirtualBox es aproximadamente un 90% más ligero) ● No necesita ninguna otra herramienta adicional, ya que sólo incluye las librerías y archivos propios de la máquina virtual que gestiona, por lo que no se duplica al completo el sistema operativo. ● Algunos defienden que es Lxc v.2.0
  • 28. Contenedores: Docker ● Incluso algunos gigantes del Cloud tienen previsto soportarlo como Google ( http://googlecloudplatform.blogspot.com.es/2013/12/google-compute-engine- is-now-generally-available.html ) ● Instalación: ● http://docker-ee.blogspot.com.es/2014/08/instalar-docker-en-ubuntu-1404. html ● Comprobación de que funciona todo OK (como root) ● Ahora ya sólo nos falta jugar con él
  • 29. Contenedores: Docker ● Bajarse una imagen de ubuntu: docker pull ubuntu ● Existen ya numerosas imágenes subidas en https://hub.docker.com/ ● Ejecutar una orden dentro de una imagen ya instalada: docker run ubuntu ls ● Ver las imágenes creadas: docker images o docker images –no-trunc ● ● Abrir una consola en un determinado contenedor:
  • 30. Contenedores: Docker ● Comandos de docker (docker --help) ● Hacer un ifconfig dentro y fuera del contenedor y ver qué ha pasado. ● Podemos instalar dentro de una de las imágenes un servidor web, por ejemplo nginx (apt-get install nginx)-> docker run -i -t ubuntu /bin/bash ● Y un cliente ssh para comunicarnos con el contenedor ● Para ver el estado y las características de cada contedor, usar docker inspect ID_LARGO (transparencia anterior) ● Abrir una cuenta en https://hub.docker.com/ y crear un repositorio para poder subir las imágenes que queráis y podáis recuperarlas cuando queráis. En mi caso se llama ubuntucc ● Usando mi usuario del hub que es mgarenas y mi repositorio que es ubuntu cc le pongo un tag a mi imagen local con: docker tag d55e68e6cc9c mgarenas/ubuntucc:latest (https://docs.docker.com/mac/step_six/)
  • 31. Contenedores: Docker ● Una vez asignado el tag, ya podemos ver el contenedor con docker images ● ● ● ● Hacemos login en remoto al repositorio ● ● ● Para hacer una imag:en ● Inicializamos un terminal dentro del contenedor donde vayamos a crear la imagen con docker run -i -t ubuntu /bin/bash ● Instalamos lo que necesitemos dentro y sin salir. ● En otro terminal hacemos un commit, y luego un push al dockerHub