Linux Containers no puede ser visto como una máquina virtual en sí mismo, pero proporciona un entorno virtual que tiene su propio proceso y espacio de red, combinando cgroups y namespaces del kernel Linux. Es muy similar a chroot, pero con muchas otras características para lograr el aislamiento.
Es probable que conozcas mejor algunas de sus implementaciones como OpenVZ, Docker, LXC o Virtuozzo de Parallels. Todos estos son mecanismos que trabajan sobre Linux Containers.
Un subtema muy importante dentro de los Linux Containers lo es la seguridad. Por eso las versiones recientes se ejecutan con un usuario regular usando Containers sin privilegios, y aún en caso de que sea privilegiado, tendrá suficiente aislamiento, si lo configuramos correctamente.
Además la versión 1.0 de Linux Containers usa también otras características del kernel para contener los procesos, como: Perfiles de Apparmor y SELinux, políticas de Seccomp, Chroots (usando pivot_root), kernel capabilities.
Muchos consideran los Linux Containers como algo en el medio de "chroot con esteroides" y una máquina vrtual completa. La meta de los Containers es crear un entorno lo más cercano posible a una instalación estándar de Linux pero sin la necesidad de un kernel independiente para ello.
Luego veremos cómo usar alguna de sus implementaciones, como Docker, para crear servidores aislados.
Más recursos:
https://linuxcontainers.org/
https://wiki.archlinux.org/index.php/Linux_Containers
http://en.wikipedia.org/wiki/Operating_system-level_virtualization
http://en.wikipedia.org/wiki/Cgroups
http://en.wikipedia.org/wiki/Namespace_isolation#NAMESPACE-ISOLATION
0 comments:
Publicar un comentario