Cómo instalar, crear y administrar LXC (contenedores de Linux) en Ubuntu/Debian

Cómo instalar, crear y administrar LXC (contenedores de Linux) en Ubuntu/Debian

Durante la última década, la comunidad de código abierto ha visto un cambio constante hacia la contenedores como la forma preferida de implementar aplicaciones gracias a los numerosos beneficios que ofrece, como portabilidad, flexibilidad, mayor seguridad y gestión más fácil de las aplicaciones. Las tecnologías de contenedores populares incluyen Docker, Podman, y Lxd.

Escrito en el lenguaje GO, lxd (pronunciado como Lekseed) se describe como el contenedor del sistema de próxima generación y el administrador de máquinas virtuales que le permite administrar sus contenedores y máquinas virtuales desde la línea de comandos, o aprovechando un API REST u otras herramientas de terceros. Lxd es un proyecto de código abierto y es una extensión de LXC (Contenedores de Linux) que es la tecnología de virtualización de nivel del sistema operativo.

LXC entró en escena alrededor de 2008 y Lxd se lanzó 7 años después en 2015 con los mismos bloques de construcción que LXC. Lxd vino a hacer que los contenedores sean más fáciles de usar y fácil de administrar.

Ser una extensión de LXC, Lxd Proporciona características avanzadas como instantáneas y migración en vivo. También proporciona un demonio que le permite administrar fácilmente contenedores y máquinas virtuales. No está destinado a suplantar LXC, Más bien, tiene como objetivo mejorar la usabilidad y el manejo de los contenedores basados ​​en LXC

En esta guía, demostraremos cómo puede crear y administrar LXC contenedores usando Lxd en Debian/Ubuntu.

Paso 1: Instale LXD en Ubuntu

El primer paso es instalar Lxd. Hay dos formas de hacerlo, puede instalar desde el repositorio de Ubuntu usando el Administrador de paquetes APT o puede usar Snap.

Usando APTO, Primera actualización del sistema:

$ sudo apt actualización 

Luego instale el Lxd Hypervisor de contenedores del sistema de la siguiente manera.

$ sudo apt install lxd 
Instalar LXD en Ubuntu

Usando quebrar, Puede instalar la última versión de Lxd.

$ sudo snap instalación lxd 

Además, puede instalar la última versión de LTS que es LXD 4.0 como sigue:

$ sudo snap install lxd --channel = 4.0/establo 

Puede verificar la versión de Lxd instalado como se muestra:

$ LXD -Versión 
Verifique la versión LXD

Si solías quebrar, puedes verificar que el Lxd El paquete Snap se instaló como se muestra:

Lista de $ Snap 
Lista del paquete LXD Snap

Paso 2: Inicialización del servicio LXD

Para inicializar o iniciar el Lxd Container Hypervisor, ejecute el comando:

$ sudo lxd init 

El comando le presenta un conjunto de preguntas sobre cómo configurar Lxd. Los valores predeterminados funcionan bien, sin embargo, está en libertad de especificar su propia configuración según sus requisitos.

En este ejemplo, hemos creado un grupo de almacenamiento llamado tecmint_pool con el ZFS Sistema de archivos y administrador de volumen. Para el resto de las preguntas, hemos elegido ir con las opciones predeterminadas. Una manera fácil de aceptar la selección predeterminada es presionar el botón ENTER en su teclado.

Inicializando el servicio LXD

Confirme la información proporcionada ejecutando el comando:

$ sudo lxc perfil muestra predeterminado 
Confirmar perfil LXD

Puede reducirlo aún más hasta el grupo de almacenamiento creado. Los comandos a continuación muestran detalles de los grupos de almacenamiento actuales.

$ sudo LXC Lista de almacenamiento $ SUDO LXC SHOW SHOW TECMINT_POOL 
Lista de grupos de almacenamiento LXD

También puede mostrar información sobre la interfaz de red en uso por Lxd, en este caso, LXDBR0, ¿Cuál es la selección predeterminada?.

$ sudo lxc network show lxdbr0 
Lista de configuración de red LXD

Paso 3: Creación de contenedores LXD en Ubuntu

Ahora, cambiemos de marcha y creemos contenedores de Linux. Puede enumerar todos los contenedores previamente construidos que están disponibles para descargar usando el comando:

$ sudo LXC Imágenes de la lista de imágenes: 

Esto poca una gran lista de todos los contenedores en varios sistemas operativos como Ubuntu, Centos, Debian y Almalinux, por mencionar algunos.

Puede reducirlo a una distribución específica de la siguiente manera:

$ sudo LXC Imágenes de la lista de imágenes: | GREP -I CENTOS $ SUDO LXC Imágenes de la lista de imágenes: | Grep -i Debian 

En este ejemplo, enumeramos los contenedores disponibles.

$ sudo LXC Imágenes de la lista de imágenes: | Grep -i ubuntu 
Lista de imágenes de contenedores LXC

Ahora, vamos a crear nuestro primer contenedor. La sintaxis para crear un contenedor es el siguiente:

$ sudo lxc Imágenes de lanzamiento: Distro/versión/Arch Container-Name 

Ahora vamos a crear dos contenedores a partir de Ubuntu 20 y Debian 10 respectivamente:

$ sudo LXC Imágenes de lanzamiento: Ubuntu/Focal Tecmint-Con1 $ sudo LXC Imágenes de lanzamiento: Debian/10 Tecmint-Con2 

En los ejemplos anteriores, hemos creado dos contenedores: Tecmint-Con1 y Tecmint-Con2.

Para enumerar los contenedores creados, ejecute el comando:

$ sudo lxc list 

Desde la salida, podemos ver nuestros dos contenedores enumerados.

Lista creada con contenedores LXC

Para obtener acceso de concha a un LXC Contenedor Ejecute el comando:

$ sudo LXC EXEC TECMINT-CON1 BASH 

Una vez que haya obtenido acceso de shell, observe que el mensaje cambia para indicar que está ejecutando como usuario root.

Acceso a la carcasa del contenedor LXC

Para salir del contenedor, ejecute el comando:

$ Salida 

Paso 4: Administración de contenedores LXD en Ubuntu

Ahora, vamos a ver algunos de los comandos que puede usar para administrar Lxd contenedores.

Para enumerar todos los contenedores en ejecución, ejecute el comando:

$ sudo lxc list 
Lista de contenedores LXC en ejecución

Para mostrar información detallada sobre un LXC contenedor, use la sintaxis:

$ sudo lxc info contenedor-nombre 

Esto le proporcionará información como el nombre del contenedor, la arquitectura, la fecha de creación, las interfaces de red de estado, el ancho de banda, la CPU, la memoria y el uso de disco para mencionar algunas métricas.

Obtener información del contenedor LXC

Para detener un LXC contenedor, use la sintaxis:

$ sudo lxc stop-name 

Por ejemplo, para detener el contenedor Tecmint-Con1, Ejecutar el comando:

$ sudo lxc stop tecmint-con1 

Nuevamente, enumere los contenedores para confirmar que el contenedor se ha detenido.

$ sudo lxc list 
Confirmar el contenedor LXC

Alternativamente, puede enumerar los contenedores en ejecución o detenido de la siguiente manera:

$ sudo lxc list | GREP -I STOWN $ SUDO LXC LISTA | Grep -i Corriendo 
Lista de ejecución y contenedores LXC detuvo

Para comenzar un LXC contenedor, use la sintaxis:

$ sudo lxc start contenedor-nombre 

Por ejemplo, para iniciar contenedor Tecmint-Con1 Ejecute el comando:

$ sudo lxc start tecmint-cu1 
Iniciar contenedor LXC

Puede iniciar o detener los contenedores que los eviten en un comando separado por un espacio utilizando la siguiente sintaxis:

$ sudo LXC Stop Container1 Container2 $ sudo LXC Start Container1 Container2 

Por ejemplo, para detener todos los contenedores, ejecute:

$ sudo LXC Stop Tecmint-Con1 Tecmint-Con2 

Para reiniciar un LXC contenedor, use la sintaxis:

$ sudo lxc reiniciar el nombre del contenedor 

Por ejemplo, para reiniciar el contenedor Tecmint-Con1 Ejecute el comando:

$ sudo lxc reiniciar TecMint-Con1 

Alternativamente, puede pasar varios contenedores en un solo comando:

$ sudo LXC Start Container1 Container2 

Por ejemplo, para reiniciar todos los contenedores, ejecute:

$ sudo lxc reiniciar tecmint-con1 tecmint-con2 

Para eliminar un LXC contenedor, primero, deténgalo, luego elimínelo. Por ejemplo, para eliminar el contenedor Tecmint-Con2, Ejecute el comando:

$ sudo lxc stop tecmint-con2 $ sudo lxc eliminar tecmint-con2 
Eliminar contenedor LXC

Esta guía le ha proporcionado una base sólida sobre Lxd contenedores y cómo puede iniciar, crear y administrar contenedores. Esperamos que ahora pueda lanzar y administrar cómodamente sus contenedores sin mucha dificultad.