SlideShare una empresa de Scribd logo
1 de 46
LXC, Docker, LXD & snaps
Containers, Containers, Containers
Sergio Schvezov
Contenedores
Lo básico
Contenedores en distintos sistemas
operativos
Canonical
Como esta implementado en el kernel
● Solaris tiene zones
● FreeBSD tiene jails
● Linux tiene un monton de cosas agregadas a las que despues llaman
contenedor.
chroot
Canonical
● syscall
● Requiere CAP_SYS_CHROOT.
● No es seguro.
pivot_root
Canonical
mount /dev/hda1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh <dev/console>dev/console2>&1
umount /old-root
Contenedores en Linux
Canonical
Formado por el conjunto de
● namespaces.
● cgroups.
● Linux capabilities.
● LSM.
● Seccomp.
● Networking.
Capabilities
Vista general
capabilities
Canonical
● Érase una vez o eras root o no lo eras.
● Capabilities pueden ser asignadas a threads o archivos.
● SUID root o ser root implica todas las capabilities.
● Capabilities tienen nombres como CAP_SYS_ADMIN, CAP_NET_ADMIN,
CAP_FOWNER…
● Capabilities asignados se pueden ver en /proc/$PID/status.
● Capabilities en archivos son guardados en xattr.
Namespaces
Vista general
namespaces: syscalls
Canonical
● clone clona un proceso y namespace. El nuevo proceso se une a ese
namespace.
● unshare crea nuevos namepaces y los une al proceso llamante.
● setns une procesos existentes a namespaces.
namespaces
Canonical
ls -al /proc/<pid>/ns
lrwxrwxrwx 1 root root 0 Apr 24 17:29 ipc -> ipc:
[4026531839]
lrwxrwxrwx 1 root root 0 Apr 24 17:29 mnt -> mnt:
[4026531840]
lrwxrwxrwx 1 root root 0 Apr 24 17:29 net -> net:
[4026531956]
lrwxrwxrwx 1 root root 0 Apr 24 17:29 pid -> pid:
[4026531836]
lrwxrwxrwx 1 root root 0 Apr 24 17:29 user -> user:
[4026531837]
lrwxrwxrwx 1 root root 0 Apr 24 17:29 uts -> uts:
[4026531838]
namespaces: user
Canonical
● El proceso tendrá un nuevo set de UIDs, GUIDs y capabilties en este
namespace.
● La base para contenedores sin privilegios.
● Aplicado pasando el flag CLONE_NEWUSER en la llamada clone() o
unshare().
namespaces: mount
Canonical
● Montaje y desmontaje dentro del namespace no afectará al resto del
sistema.
● Excepto cuando se use mount –make-shared.
● Aplicado pasando el flag CLONE_NEWNS en la llamada clone() o
unshare().
● Requiere CAP_SYS_ADMIN.
namespaces: PID
Canonical
● Hijos tendrán un conjunto distinto de mapeos de PID-a-proceso que su
padre.
● Aplicado pasando el flag CLONE_NEWPID en la llamada clone() o
unshare().
● Requiere CAP_SYS_ADMIN.
namespaces: ipc
Canonical
● Permite que un proceso tenga su propio espacio para objectos IPC System
V y POSIX message queues.
● Aplicado pasando el flag CLONE_NEWIPC en la llamada clone() o
unshare().
● Requiere CAP_SYS_ADMIN.
namespaces: UTS
Canonical
● Permite que un proceso tenga su propio nodename y domainname.
● Aplicado pasando el flag CLONE_NEWUTS en la llamada clone() o
unshare().
● Requiere CAP_SYS_ADMIN.
namespaces: network
Canonical
● Permite que un proceso tenga su propio stack de red.
● Aplicado pasando el flag CLONE_NEWNET en la llamada clone() o
unshare().
● Requiere CAP_SYS_ADMIN.
Ejemplos
cgroups
Vista general
cgroup: memory
Canonical
● Accounting: registro de las páginas usadas por el grupo.
● Soft limit → solo cuando el sistema esta bajo presión.
● Hard limit → OOM killer por grupo.
cgroup: cpu
Canonical
● Accounting: registro de tiempo de usuario/sistema en el grupo.
● Accounting: registro de uso por CPU.
● Asignar grupos a CPUs específicas.
● Reservar CPUs para procesos.
● Prevenir rebote de procesos entre CPUs.
cgroup: blkio
Canonical
● Accounting: registro de I/O en el grupo.
● Hacer throtling por grupo.
cgroup: devices
Canonical
● Controla lo que el grupo puede hacer con device nodes (r/w/mknod).
cgroup: freezer
Canonical
● Permite congelar un grupo de procesos.
● Como un SIGSTOP/SIGCONT masivo.
● No puede ser interferido por procesos.
Ejemplos
Seguridad
Seccomp, AppArmor & SELinux
seguridad: apparmor
Canonical
● Confina programas a un conjunto de recursos.
● A traves de perfiles levantados en el kernel.
● Dos modos: enforce y complain.
● Puede mediar:
●
acceso a archivos
●
bibliotecas.
●
capabilities.
●
dbus.
●
redes (protocolo, tipo, dominio).
●
unix sockets
●
…
seguridad: selinux
Canonical
● inodes en vez de paths.
● es mucho mas complejo…
seguridad: seccomp
Canonical
● Secure Computing Mode
● De forma predeterminada solamente permite exit(), sigreturn(), read() &
write()
● Procesos reciben SIGKILL si usan un syscall no permitido.
Ejemplos
Communications & Marketing: Q1
Containers
Runtimes
container runtimes: lxc
Canonical
● Herramientas de userland
● Los contenedores son un directorio en /var/lib/lxc
● Tiene un pequeño archivo de configuración + rootfs
● Fácil de usar por sysadmins.
container runtimes: docker
Canonical
● Daemon con API RESTish.
● Primeras versiones basadas en lxc.
● Ya saben…
container runtimes: lxd
Canonical
Qué es:
● Daemon con API REST simple.
● cli simple.
● Usa todos las caracteristicas de seguridad del kernel.
● Usa la API de lxc para manejar contenedores.
● Solo trabaja con contenedores de sistema completo.
● Contenedores sin privilegio por defecto.
container runtimes: lxd
Canonical
● Probalo → https://linuxcontainers.org/lxd/try-it/
Snaps
Overview
snaps: pitch
Canonical
● confinados.
● transaccionales.
● inmutables.
snaps: confinamiento
Canonical
● docker y lxc/lxd contienen.
● snaps estan confinados.
● hace pivot_root.
● solamente usa mount namespace.
● el namespace de red y procesos es el global.
● hace uso de LSM si esta disponible.
● espacios de escritura segregados.
snaps: lo que ve un snap
Canonical
versioned root writable area
(for services)
$SNAP_DATA
common root writable area
(for services)
$SNAP_COMMON
versioned user writable area
$SNAP_USER_DATA
/tmp (per service and
app)/tmp (per service and
app)
/tmp
(per service and app
process)
~
/dev/<device>
/sys
/
(from
core snap)
/var/lib/snapd/hostfs
(/ from host)
snap code & assets
(squashfs, RO bind-mounted in /snap/<snap_name>/<version>)
$SNAP
Service
common user writable area
$SNAP_USER_COMMON
Service CLI GUI
snaps: cómo interactuan
Canonical
app snapapp snap
app writable
area
app writable
area
app snap
app writable
area
app snap
app writable
area
snaps: all snaps
Canonical
Kernel snap
Core snap
Gadget snap
App snap
App snap
App snap
Content interface snap
snaps: comparación
Canonical
Host Linux Filesystem
Machine
Containers
Process
Containers
Snap extends host
Virtual
Machines
Traditional operations Traditional operations Mesos / Kubernetes / Swarm
KVM LXD Docker / RunC / Rkt
snaps: all snaps
Canonical
Kernel snap
Core snap
Gadget snap
App snap
App snap
App snap
Content interface snap
Ejemplos
Preguntas
Gracias
Sergio Schvezov
sergio.schvezov@canonical.com
canonical.com
ubuntu.com
bibliografía
Canonical
● Herramientas de userland
● Los contenedores son un directorio en /var/lib/lxc
● Tiene un pequeño archivo de configuración + rootfs
● Fácil de usar por sysadmins.

Más contenido relacionado

La actualidad más candente

Jesús Amieiro: Git para el día a día
Jesús Amieiro: Git para el día a díaJesús Amieiro: Git para el día a día
Jesús Amieiro: Git para el día a díaPHP Vigo
 
Instrucciones install ppdf
Instrucciones   install ppdfInstrucciones   install ppdf
Instrucciones install ppdfDaNiel GarCia
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxParadigma Digital
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesDomingo Suarez Torres
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.Paradigma Digital
 
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenIniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenVíctor Leonel Orozco López
 
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!Paradigma Digital
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Víctor Leonel Orozco López
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmMario IC
 
Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)Iñaki Arenaza
 

La actualidad más candente (20)

Jesús Amieiro: Git para el día a día
Jesús Amieiro: Git para el día a díaJesús Amieiro: Git para el día a día
Jesús Amieiro: Git para el día a día
 
Instrucciones install ppdf
Instrucciones   install ppdfInstrucciones   install ppdf
Instrucciones install ppdf
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.
 
Tolerancia a fallas, service mesh y chassis
Tolerancia a fallas, service mesh y chassisTolerancia a fallas, service mesh y chassis
Tolerancia a fallas, service mesh y chassis
 
Desarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud NativeDesarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud Native
 
Introducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores JavaIntroducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores Java
 
Contenedores como Servicio con Docker
Contenedores como Servicio con DockerContenedores como Servicio con Docker
Contenedores como Servicio con Docker
 
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenIniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
 
Docker containers-itb-2021
Docker containers-itb-2021Docker containers-itb-2021
Docker containers-itb-2021
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)Uso de git (Cursos de e-ghost 2011)
Uso de git (Cursos de e-ghost 2011)
 
Jenkins pipeline
Jenkins pipelineJenkins pipeline
Jenkins pipeline
 

Similar a LXC, Docker, LXD &snaps

Similar a LXC, Docker, LXD &snaps (20)

Docker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidadDocker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidad
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrollo
 
Creacion de un IPS utilizando Linux y hardware Soekris
Creacion de un IPS utilizando Linux y hardware SoekrisCreacion de un IPS utilizando Linux y hardware Soekris
Creacion de un IPS utilizando Linux y hardware Soekris
 
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
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
Genesis campos
Genesis camposGenesis campos
Genesis campos
 
Miranda castillo UNIX
Miranda castillo UNIXMiranda castillo UNIX
Miranda castillo UNIX
 
Ambar galeas
Ambar galeasAmbar galeas
Ambar galeas
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Cristian medina Instalar unix
Cristian medina Instalar unixCristian medina Instalar unix
Cristian medina Instalar unix
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Linux containers
Linux containersLinux containers
Linux containers
 
Transcripcion (jackeline chillogalli
Transcripcion (jackeline chillogalliTranscripcion (jackeline chillogalli
Transcripcion (jackeline chillogalli
 
Como instalar unix ...lili
Como instalar unix ...liliComo instalar unix ...lili
Como instalar unix ...lili
 
Ronald
RonaldRonald
Ronald
 
Nicolle
NicolleNicolle
Nicolle
 
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
 
Transcripcion yamy
Transcripcion yamyTranscripcion yamy
Transcripcion yamy
 
Mary cervantes
Mary cervantesMary cervantes
Mary cervantes
 
Viviana medina
Viviana medinaViviana medina
Viviana medina
 

Último

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 

Último (20)

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 

LXC, Docker, LXD &snaps

Notas del editor

  1. Que es un contenedor? Elevator pitch: - algo a lo que le puedo hacer ssh - algo a lo que se parece a una VM Mas bajo nivel: - usa el kernel del host - no puede levantar sus propios modulos. - no necesita init como PID1
  2. initrd usa esto
  3. Threads: Permitted, Inheritable, Effective, Ambient. Files: Permitted, Inheritable, Effective.
  4. Lo que ve un proceso. Como lo ve
  5. Cada namespace tiene asignado su propio inode El namespace se termina cuando todos sus procesos se terminan y nadie se agarra del inode.
  6. unshare --map-root-user --user bash touch s ls -l s exit ls -l s
  7. unshare -m --map-root-user --user bash cat /proc/self/mounts mount -n -o size=1m -t tmpfs tmpfs $(mktemp -d –tmpdir=/tmp) cat /proc/self/mounts|tail -1
  8. No se si este lo usa docker. Nesting de hasta 32 Sirve para containers o para facilitar process migration, por ej usando CRIU Evitamos colisiones si los procesos que se migran viven en su propio ns. CRIU → Checkpoint-Restore In Userspace. openVZ tiene su propia implementacion
  9. When an IPC namespace is destroyed (i.e., when the last process that is a member of the namespace terminates), all IPC objects in the namespace are automatically destroyed.
  10. El mas simple de implementar en el kernel. Su estructura de datos tiene solamente 6 miembros: - sysname - nodename - release - version - machine - domainname
  11. kernel struct es gigante loopback device SNMP todas las tablas de red. network fs profs sysfs sockets Para comunicar namespaces usamos veth, todos los veth se conectan a un bridge (docker0). al crearse se crea un dispositivo de loopback un socket pertenece a un solo namespace When a network namespace is freed (i.e., when the last process in the namespace terminates), its physical network devices are moved back to the initial network namespace (not to the parent of the process).
  12. # user unshare --map-root-user --user bash ls -l /proc/self/ns cat /proc/self/uid_map touch s ls -l s exit ls -l s mount -n -o size=1m -t tmpfs tmpfs $(mktemp -d –tmpdir=/tmp) #fail ping google.com #fail # mount unshare -m --map-root-user --user bash cat /proc/self/mounts mount -n -o size=1m -t tmpfs tmpfs $(mktemp -d –tmpdir=/tmp) cat /proc/self/mounts|tail -1 # pid unshare --pid --fork --mount-proc --user –map-root-user ps aux # uts unshare --uts --user --map-root-user bash hostname mordor
  13. control groups es un subsistema para Manejar los recursos, hacer accounting y seguimient (accounting and tracking). Maneja recursos tales como memoria, cpu, redes, dispositivos. En cuanto a contenedores limita lo que podes usar (a diferencia de namespaces que limita lo que podes ver). Interfaz en el filesystem, interfaces mas altas a traves de cgmanager o systemd es un arbol, arrancamos con un nodo, cada proceso esta atado a uno de estos nodos. Siempre estamos en un cgroup.
  14. Cada pagina se cobra a un grupo, si la pagina se comparte se cobra a uno solo.
  15. No hay limites, throttling y demas hacen que sea impreciso. knobs: poner peso a la migracion de procesos.
  16. usado para process migration
  17. sudo cgm create all valinor ls /sys/fs/cgroup sudo cgm chown all valinor $(id -u) $(id -g) cgm movepid all valinor $$ cgm setvalue freezer valinor freezer.state FROZEN
  18. confinamiento a un contenedor.
  19. confinamiento a un contenedor.
  20. confinamiento a un contenedor.
  21. sudo aa-status cat /var/lib/snapd/apparmor/profiles/snap.docker.dockerd cat /var/lib/snapd/apparmor/profiles/snap.vim.vim less /var/lib/snapd/seccomp/profiles/snap.docker.dockerd
  22. openvz esta tambien desde mucho antes. systemd-nspawn es reciente.
  23. openvz esta tambien desde mucho antes. systemd-nspawn es reciente.
  24. sudo aa-status cat /var/lib/snapd/apparmor/profiles/snap.docker.dockerd cat /var/lib/snapd/apparmor/profiles/snap.vim.vim less /var/lib/snapd/seccomp/profiles/snap.docker.dockerd
  25. openvz esta tambien desde mucho antes. systemd-nspawn es reciente.