Publicado el 18 de Abril del 2020
310 visualizaciones desde el 18 de Abril del 2020
438,2 KB
27 paginas
Creado hace 8a (25/04/2016)
ISO Tema 9, 2015-2016
Concurrencia de Procesos
Pablo González Nalda
Depto. de Lenguajes y Sistemas Informáticos
13 de abril de 2016
Modificado el 25 de abril de 2016
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
Contenidos de la presentación
1 Automatización de la virtualización
2 Ventajas de la gestión con máquinas virtuales
3 chroot
4 Mecanismos de aislamiento
5 Docker
6 Ventajas de Docker frente a MV
7
¿Más preguntas?
2 / 27
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
1 Automatización de la virtualización
2 Ventajas de la gestión con máquinas virtuales
3 chroot
4 Mecanismos de aislamiento
5 Docker
6 Ventajas de Docker frente a MV
7
¿Más preguntas?
3 / 27
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
Automatización de la virtualización
Gestión automatizada de máquinas virtuales mediante
scripts con Vagrant, que nos permite:
Crear y destruir máquinas virtuales a través de un fichero
de configuración Vagrantfile.
Se usan máquinas genéricas preparadas como base.
Al arrancar se provisionan con otro script, que instala,
configura y ejecuta los programas adecuados para dar el
servicio objetivo de la máquina.
vagrant up
vagrant ssh
vagrant destroy
uname -a
Se puede comprobar que son sistemas distintos con uname
dentro y fuera de la máquina. La virtualización es a nivel
hardware.
4 / 27
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
1 Automatización de la virtualización
2 Ventajas de la gestión con máquinas virtuales
3 chroot
4 Mecanismos de aislamiento
5 Docker
6 Ventajas de Docker frente a MV
7
¿Más preguntas?
5 / 27
Ventajas de la gestión con máquinas virtuales
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
Gestionar un sistema con máquinas virtuales nos permite:
diferenciar los sistemas y los recursos necesarios para
proporcionar un servicio: cada sistema es una simulación
de ordenador, un SO independiente.
por lo que un problema en una MV sólo va a afectar a un
servicio
la creación es repetible y automatizable.
6 / 27
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
1 Automatización de la virtualización
2 Ventajas de la gestión con máquinas virtuales
3 chroot
4 Mecanismos de aislamiento
5 Docker
6 Ventajas de Docker frente a MV
7
¿Más preguntas?
7 / 27
chroot
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
chroot es un mecanismo que ejecuta un programa
cambiando la raíz de su sistema de ficheros a un directorio, por
lo que ese programa puede ser el que arranque un sistema
completo.
Sólo compartirá con el anterior el sub-árbol de directorios y el
kernel.
Se pueden montar los subdirectorios especiales como /proc
8 / 27
Ejemplo de uso de chroot
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
Como root
mkdir jaula
cd jaula/
cp /bin/busybox .
./busybox ls
./busybox uname
ldd busybox
mkdir proc dev run var
mount --bind /proc proc # directorio /proc disponible en la
-a
jaula
mount --bind /dev dev
chroot /home/pablo/jaula ./busybox ash
# En otra terminal
sudo ls -ld /proc/18582/root
lrwxrwxrwx 1 root root 0 abr 20 19:56
/proc/18582/root -> /home/pablo/jaula
Más ejemplos en http://www.cyberciti.biz/faq/
unix-linux-chroot-command-examples-usage-syntax/
9 / 27
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
1 Automatización de la virtualización
2 Ventajas de la gestión con máquinas virtuales
3 chroot
4 Mecanismos de aislamiento
5 Docker
6 Ventajas de Docker frente a MV
7
¿Más preguntas?
10 / 27
Mecanismos de aislamiento: Namespaces
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
https://docs.docker.com/engine/understanding-docker/
Docker usa diferentes mecanismos proporcionados por el
kernel y construidos sobre él. Usa los namespaces para crear
entornos aislados en el sistema, los contenedores. Cada
elemento del contenedor se ejecuta en su propio espacio de
nombres y no tiene acceso al exterior.
Algunos de los espacios de nombres que usa Docker son:
pid namespace: Process isolation (PID: Process ID).
net namespace: Managing NETwork interfaces.
ipc namespace: Managing access to IPC resources (IPC:
InterProcess Communication).
mnt namespace: Managing MouNT-points .
uts namespace: Isolating kernel and version identifiers.
(UTS: Unix Timesharing System).
11 / 27
Mecanismos de aislamiento: Control groups
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
Los cgroups o grupos de control controlan la cantidad de
recursos que consume el contenedor. De esta forma los
contenedores comparten los recursos de hardware y tienen un
límite, por ejemplo de memoria disponible. Controlan:
Limitación de recursos.
Control de prioridades.
Contabilidad.
Control de grupos de procesos (congelar y rearrancar).
12 / 27
Mecanismos de aislamiento Union file systems
Un sistema de ficheros Union es el que compone, une la
información de varios sistemas de ficheros (las capas) para
obtener uno. Esas capas son las fases de creación del sistema
de ficheros del contenedor. Las capas pueden ser compartidas
por varios contenedores (como el sistema operativo base).
ls -l /var/lib/docker/overlay/
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
https://docs.docker.com/engine/userguide/
storagedriver/overlayfs-driver/
13 / 27
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
1 Automatización de la virtualización
2 Ventajas de la gestión con máquinas virtuales
3 chroot
4 Mecanismos de aislamiento
5 Docker
6 Ventajas de Docker frente a MV
7
¿Más preguntas?
14 / 27
¿é es Docker?
Docker es un mecanismo para aislar, gestionar y modularizar la
ejecución de un servicio, sus procesos y recursos necesarios,
como almacenamiento, redes y otros dispositivos.
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
Figura : Virtualización a nivel de
hardware
Figura : Contenedores
15 / 27
Estructura de un contenedor
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
Un contenedor comparte el kernel con el resto de procesos del
sistema, puesto que el contenedor aísla servicios formados por
varios procesos que colaboran. Se puede distinguir
imagen el conjunto de capas de sólo lectura que forman el
sistema de ficheros
contenedor una imagen con una capa de lectura y escritura
Cuando hablamos de SO, pensamos en el conjunto de ficheros
y mecanismos básicos para arrancar en el contenedor los
servicios necesarios para un programa estándar de ese sistema.
Sin embargo, el contenedor no arranca ningún proceso.
16 / 27
Estructura de un contenedor
Cada capa (image-layer) es un
sistema de ficheros de sólo lectura, y
es el resultado de una fase de
instalación de soware. Las capas se
unen con un sistema de ficheros de
UnionFS. Cuando arranca el
contenedor se a ñade una capa vacía
de escritura.
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
blogspot.com.es/2015/10/visualizing-docker-containers-and-images.html
17 / 27
http://merrigrove.
docker pull ros
Contenidos
Automatización
de la
virtualización
Ventajas de la
gestión con
máquinas
virtuales
chroot
Mecanismos de
aislamiento
Docker
Ventajas de
Docker frente a
MV
¿Más preguntas?
$ docker pull ros
Using default tag: latest
latest: Pulling from library/ros
203137e8afd5: Pull complete
2ff1bbbe9310: Pull complete
933ae2486129: Pull complete
a3ed95caeb02: Pull complete
efa7035358b8: Pull complete
492b493cc7ff: Pull complete
b95358183d2d: Pull complete
103c3645b87a: Pull complete
1cd6ee992a45: Pull complete
1fc2ba02a5ca: Pull complete
6eec5fc93cc9: Pull complete
f580de0c172a: Pull complete
Digest: sha256:078
fbd221da8a3126eff2e2836572e38ef94631a1017568b86
Status: Downloaded newer image for ros:latest
18 / 27
Contenidos
Automatización
de la
virtual
Comentarios de: Concurrencia de procesos (0)
No hay comentarios