La virtualización de contenedores de Linux (LXD) es similar a las máquinas virtuales (por ejemplo, KVM) pero con más velocidad, eficiencia y mucho más ligero en comparación con las máquinas virtuales. Los contenedores LXD para sistemas operativos como Ubuntu, Centos, Arch Linux, etc. son fáciles de crear. LXD usa el mismo kernel de Linux, lo que reduce la sobrecarga de la adición de dichos kernels.
En este artículo, mostraremos el proceso de instalación y configuración de LXD en el servidor Ubuntu 20.04. Además, explicaremos cómo iniciar un contenedor LXD y cómo ejecutar comandos dentro del contenedor.
Instalar LXD en Ubuntu 20.04
Para instalar LXD en el servidor Ubuntu 20.04, simplemente actualice el caché del repositorio e instálelo usando el administrador de paquetes apt como se muestra a continuación.
$ sudo apt update && sudo apt upgrade -y
Instale el LXD con el comando como se muestra a continuación.
$ sudo apt install lxd -y
O instálelo con el uso de comandos instantáneos.
$ sudo snap install lxd --channel=4.0/stable
Añadir usuario al grupo lxd
Se recomienda agregar el usuario con el que está conectado actualmente, en mi caso, el usuario se llama 'ubuntu' al grupo lxd. Esto facilita el uso y mantenimiento de los contenedores LXC. Ejecute el comando como se muestra a continuación para este propósito.
$ sudo adduser ubuntu lxd
Para verificar si el usuario se agrega al grupo lxd, ejecute el comando como se muestra a continuación.
$ id
Para instalar zfs para el backend de almacenamiento
Como backend de almacenamiento, el sistema de archivos zfs se usa principalmente para LXD. Para instalar zfs, ejecute el comando como se muestra a continuación.
$ sudo apt update $ sudo apt install zfsutils-linux -y
Para configurar el LXD
Para configurar lxd en el servidor Ubuntu 20.04, ejecute el comando como se muestra a continuación con el uso del zfs anterior.
$ sudo lxd init
Obtenga una lista de imágenes de contenedores LXD disponibles
Simplemente, puede verificar la lista de imágenes LXD incorporadas, ejecute el comando como se muestra a continuación
$ lxc image list images: $ lxc image list images: | grep -i centos
Por ejemplo, veamos el resultado de este comando.
$ lxc image list images: | grep -i ubuntu
Crear un contenedor LXD
Los contenedores LXD se crean con el uso del comando lxc. Para hacer eso, use el comando lxc con el nombre de la imagen o desde la lista remota. Verifique la lista remota con el comando como se muestra a continuación.
$ lxc remote list
Para crear el contenedor lxd usando remoto como ubuntu, ejecute el comando como se muestra a continuación.
Sintaxis:
$ lxc launch ubuntu:20.04 container_name
Aquí, estamos creando un contenedor con el nombre de contenedor "prueba" con el sistema operativo "ubuntu 20.04" mediante el comando que se muestra a continuación.
$ lxc launch ubuntu:20.04 test
La imagen del contenedor se descargará y la caché de la imagen se almacenará para que se use la misma imagen si se necesita nuevamente. Verá el resultado como se muestra a continuación después de la ejecución exitosa del comando anterior.
Salida :
Para verificar los detalles del contenedor como nombre, estado, dirección ipv4 e ipv6, tipo e instantáneas, ejecute el comando como se muestra a continuación.
$ lxc ls
Para ejecutar un comando dentro del contenedor
Después de crear con éxito el contenedor, puede ejecutar comandos dentro de él. Se puede hacer con un simple comando lxc o ingresando bash. Para más detalles, verifique los comandos como se muestra a continuación.
Sintaxis :
$ lxc exec container_name — comando
Ejemplo:
$ lxc exec test apt update
Para bash shell, ejecute el comando como se muestra a continuación.
Sintaxis:
$lxc exec container_name bash
Ejemplo:
$ lxc exec test bash
Para iniciar, detener y eliminar el contenedor LXD
Para iniciar el contenedor LXD, ejecute el comando como se muestra a continuación.
$ lxc inicio nombre_contenedor
Ejemplo:
$ lxc start test
Para detener el contenedor LXD, ejecute el comando como se muestra a continuación.
$ lxc detener nombre_contenedor
Ejemplo:
$ lxc stop test
Para eliminar el contenedor LXD, ejecute el comando como se muestra a continuación.
$ lxc eliminar nombre_contenedor
Ejemplo:
$ lxc delete test
Conclusión
En este artículo, ha aprendido a instalar y configurar el LXD. También le mostré el proceso de crear un contenedor lxd y ejecutar comandos a través de bash shell dentro del contenedor.