¿Qué es LXC y cómo comenzar?

37

Le agradecería si alguien me presentara a LXC y me dijera cómo comenzar con esta tecnología. ¿En qué casos tiene sentido usar, y en qué debo evitarlo?

dhojgaard
fuente
3
Si ves la película Inception , tienes una buena idea de lxc. imdb.com/title/tt1375666 Tráiler.
Qasim

Respuestas:

53

_________________________________________________ LXC _________________________________________________________

                           Linux Containers ( Ubuntu )

Visión general

Linux Containers (LXC) es una tecnología de virtualización liviana y proporciona un sistema de virtualización de software gratuito para computadoras que ejecutan GNU / Linux. Esto se logra a través del aislamiento a nivel de kernel, permite ejecutar múltiples unidades virtuales (contenedores) simultáneamente en el mismo host.

Un contenedor es una forma de aislar un grupo de procesos de los demás en un sistema Linux en ejecución. Al hacer uso de la funcionalidad existente, como las nuevas funciones de gestión de recursos y aislamiento de recursos del núcleo Linux (Cgroups y espacios de nombres), estos procesos pueden tener su propia vista privada del sistema operativo con su propio espacio de ID de proceso (PID), estructura de sistema de archivos y interfaces de red.

Los contenedores comparten el mismo kernel con cualquier otra cosa que se esté ejecutando en él, pero pueden limitarse a usar solo una cantidad definida de recursos como CPU, memoria o E / S. Al combinar contenedores con otras características como el sistema de archivos Btrfs, será posible configurar rápidamente múltiples instancias de Linux aisladas y livianas en un solo host. Por lo tanto, los contenedores son mejores en comparación con las zonas de Solaris o las cárceles BSD.

ingrese la descripción de la imagen aquí

Instalación

Haciendo LXC más fácil

Uno de los principales objetivos de Ubuntu LTS fue hacer que LXC dead sea fácil de usar, para lograr esto. Crear un contenedor básico e iniciarlo en Ubuntu

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

Iniciar sesión

sudo lxc-console -n my-container -t 1

Esto usará de manera predeterminada la misma versión y arquitectura que su máquina, obviamente hay opciones adicionales disponibles (–help las enumerará). Inicio de sesión / Contraseña son ubuntu / ubuntu.

Para la configuración detallada del host


Para más información sobre LXC

Debian

Oráculo

sourceforge


Panel web LXC

Para Newbie, recomendaría usar LXC Webpanel. Lo bueno es que si crea un contenedor a través del modo cli, aparecerá en el Panel Web de LXC.

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

Abra el navegador web y conéctese

                       http://your_ip_address:5000/
                Login with user admin and password admin

Visión general

ingrese la descripción de la imagen aquí

Descripción general de contenedores

ingrese la descripción de la imagen aquí

Red LXC

ingrese la descripción de la imagen aquí

Configuraciones de contenedores

ingrese la descripción de la imagen aquí

Limitación de recursos

ingrese la descripción de la imagen aquí

Modificación de usuario (Crear, Eliminar Modificar)

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Qasim
fuente
1
Tuve que instalar sudo apt-get install debootstrapantes sudo lxc-create -t ubuntu -n my-containerfuncionaría (Ubuntu 14.04 LTS).
CivMeierFan
¿Cuáles son las características de btrfs que hacen que el aprovisionamiento de contenedores sea más rápido?
chad
11

LXC

LXC, que es una forma abreviada de decir que LinuX Containers es un método de virtualización a nivel de sistema operativo para ejecutar múltiples sistemas Linux aislados que se denominan contenedores en un único host de control. Dado que LXC proporciona virtualización a nivel de sistema operativo, no es a través de una máquina virtual completa, sino que proporciona su propio entorno virtual que tiene su propio proceso y espacio de red.

LXC se basa en el cgroups del kernel de Linux ( Grupos de control ) que se desarrolla como parte de LXC, que es una función para limitar, contabilizar y aislar el uso de recursos (CPU, memoria, E / S de disco, etc.) de los grupos de procesos. También se basa en otros tipos de funcionalidad de aislamiento de espacio de nombres, que se desarrollaron e integraron en el núcleo principal de Linux.

En Ubuntu puedes encontrar herramientas como Juju que se usan con LXC. Incluso puedes encontrar varios tutoriales:

Para usar LXC y sus beneficios, recomiendo leer la Guía de Ubuntu para Juju

Sitio oficial - https://linuxcontainers.org/

Las listas de correo están alojadas aquí.

Luis Alvarado
fuente
2

Creo que una mejor pregunta es ¿qué quieres hacer con LXC?

Comenzaría con la documentación de la comunidad y haría preguntas específicas sobre cosas específicas que no entiendes.

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

LXC se puede utilizar para aislar servicios u otros procesos del host, aunque el aislamiento no siempre es perfecto.

LXC está, en mi opinión, en rápido desarrollo y puede ayudar si se suscribe a la lista de correo.

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch también hizo una buena descripción la semana pasada

http://distrowatch.com/weekly.php?issue=20130429#qa

Pantera
fuente