Aprendamos los pasos y comandos para instalar LXD/LXC en AlmaLinux o Rocky para comenzar a crear contenedores usando la línea de comandos LXC o la interfaz gráfica de usuario.
LXD, el "Linux Container Daemon", es una herramienta de administración para contenedores del sistema operativo Linux creados con LXC. LXC es una tecnología de virtualización basada en contenedores a nivel de sistema operativo. Ambos han sido desarrollados por Canonical, la compañía detrás de Ubuntu Linux.
Para entender LXD, primero sepamos qué es exactamente LXC.
LXC es una forma abreviada o acrónimo que significa "contenedores de Linux". Significaba virtualizar aplicaciones a nivel de sistema operativo dentro del kernel de Linux. Técnicamente, LXC combina espacios de nombres aislados y los “cgroups” del kernel de Linux para implementar entornos aislados para la ejecución de código. Históricamente, LXC también fue la base de la tecnología de virtualización Docker generalizada. No es como las plataformas de virtualización tradicionales como Hyper-V, Vmware y KVM; además de virtualizar el sistema operativo completo dentro de los contenedores, también le permite ejecutar software o aplicaciones individuales en entornos virtuales.
Mientras que, para facilitar la administración de contenedores LXC, los desarrolladores crearon LXD, una extensión de LXC. Con la ayuda de LXD, los contenedores se pueden configurar y controlar mediante conjuntos de comandos definidos. Utiliza libxlc
para conectar la biblioteca de software LXC. Está escrito en lenguajes GO y crea un demonio del sistema al que las aplicaciones pueden acceder localmente usando un socket Unix o a través de la red a través de HTTPS. Por lo tanto, es útil para automatizar la gestión masiva de contenedores y se utiliza en la computación en la nube y los centros de datos.
Pasos para instalar LXD/LXC en AlmaLinux o Rocky 8
Este tutorial también se aplica a Fedora, CentOS 7/8 y RHEL 8.x.
1. Añadir repositorio EPEL
Ya sea para instalar LXC o LXD, para ambos necesitamos tener EPEL en nuestro sistema operativo Linux basado en RPM incluso para CentOS o RHEL 8. Por lo tanto, use el comando dado y primero habilite los Paquetes adicionales para el repositorio Enterprise Linux.
sudo dnf install epel-release
2. Actualizar sistema
Para actualizar los paquetes instalados en el sistema para que puedan alcanzar su estado más reciente, ejecute el comando de actualización del sistema. Esto también actualizará la memoria caché del repositorio.
sudo dnf update
3. Instalar SNAPD en AlmaLinux
Si solo tenemos que instalar LXC en AlmaLinux o Rocky, entonces no necesitamos usar SNAP porque sus paquetes están disponibles para instalar a través de EPEL. Sin embargo, LXD está disponible en el repositorio de Snapcraft, por lo que primero debemos instalar y habilitar el demonio SNAP en nuestro sistema Linux.
sudo dnf install snapd -y sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
4. Instale LXD/LXC en AlmaLinux o Rocky 8
Ahora, podemos ejecutar el comando snap regular para obtener e instalar los paquetes para LXD en nuestro sistema RPM Linux. Aquí está el comando-
sudo snap install lxd
5. Reiniciar sistema
Una vez completada la instalación, reinicie el sistema de su servidor para integrar correctamente y aplicar los cambios que se han realizado debido a la instalación de LXD.
sudo reboot
6. Agrega tu usuario o grupo LXD
Una vez completada la instalación y reiniciado con éxito su servidor o escritorio, es hora de agregar nuestro usuario actual al grupo LXD; de lo contrario, para ejecutar cada comando, tenemos que usar sudo
.
sudo usermod -aG lxd $USER newgrp lxd
7. Inicialización
Realicemos la configuración inicial con la ayuda de las opciones guiadas proporcionadas por el LXD. Ejecutar:
lxd init
Aquí, para el grupo de almacenamiento, seleccione LVM si el almacenamiento de su sistema no está en el brtfs predeterminado.
Además, permita la conexión del puente de red a través del cortafuegos:
sudo firewall-cmd --add-interface=lxdbr0 --zone=trusted --permanent sudo firewall-cmd --reload
8. Creemos un contenedor
Ahora, ya tenemos todo lo que necesitamos para comenzar a crear contenedores usando diferentes imágenes LXC disponibles en:images.linuxcontainers.org.
La sintaxis es-
LXC launch images:distro/version/Architecture container-name
distro
– El tipo de distribución que desea instalar, como Ubuntu, CentOS, Mint, Arch, Amazon Linux, etc.version
– Versión de la distribuciónArchitecture
– Arquitectura de CPU para distro- amd4, armhf, i386, ppc64el y otros.container-name
– El nombre que le quieres dar a tu contenedor para gestionarlo fácilmente más adelante.
Por ejemplo, queremos instalar ARCH y Ubuntu Containers usando la imagen disponible para amd64 en la biblioteca LXC. El comando será:
Para Arch Linux
LXC launch images:arch/current/amd4 myarch
Para Ubuntu Focal
LXC launch images:ubuntu/20.04/amd4 ubuntu-20
9. Para listar todos los contenedores
Después de instalar varias imágenes para crear contenedores, podemos enumerarlas todas para comprobar cuáles están disponibles en nuestro entorno virtual.
lxc list
10. Detener, reiniciar, eliminar contenedores LXC
A medida que lanzamos un contenedor, se iniciará automáticamente, sin embargo, si desea detenerlos, reiniciarlos o incluso eliminarlos, estos son los comandos a seguir:
lxc start container-name lxc stop container-name lxc restart container-name lxc delete container-name
Ejemplo :Aquí tenemos instalado Arch, por lo que para detenerlo, el comando será así:
lxc stop arch
11. Acceder a contenedor bash
Ahora, para acceder al usuario raíz y al shell de cualquier contenedor instalado, podemos emitirle varios comandos. Este es el camino-
lxc exec conatiner-name-- /bin/bash
Por ejemplo , hemos instalado Ubuntu 20.04, por lo tanto, para acceder a su usuario raíz y su bash, ejecutamos:
lxc exec Ubuntu-20 -- /bin/bash
12. GUI LXD para gestionar contenedores LXC
Si no desea usar la línea de comandos, podemos instalar una interfaz gráfica web para administrar contenedores LXC usando lxdmosaic
disponible como script y en SNAP.
Como ya tenemos complemento en nuestro sistema, lo usamos.
sudo snap install lxdmosaic
Asignar puertos a la interfaz web lxdmosaic
sudo snap set lxdmosaic ports.http=81 ports.https=444
Permitir puertos en el cortafuegos:
sudo firewall-cmd --zone=public --add-port=81/tcp --permanent sudo firewall-cmd --zone=public --add-port=444/tcp --permanent sudo firewall-cmd reload
Habilite el acceso a los hosts LXD a través de la red y establezca una contraseña para los mismos.
lxc config set core.https_address [::] lxc config set core.trust_password your-password
Nota :Reemplace su contraseña en el comando anterior con el que desea establecer para él.
Reiniciar SNAP:
sudo systemctl restart snapd
13. Acceda a la interfaz GUI web
Abra el navegador del sistema localmente en su AlmaLinux o Rocky, si está utilizando la versión del servidor CLI, entonces cualquier otra computadora que pueda acceder a la dirección IP de su servidor.
Escriba- https://server-ip-address:444
Si recibe un error de SSL, haga clic en Avanzado que aparece allí y haga clic en Continuar dirección IP no segura .
Obtienes la interfaz web:
- Bajo el host- Escriba la dirección IP de su servidor LXD y en la contraseña la que configuró anteriormente en el Paso 11 de este artículo.
- Crear administrador usuario para LXD Mosaic. Por defecto, el nombre de usuario será admin (puede cambiar eso), solo necesita establecer una contraseña para la misma según su elección.
- Después de eso, haga clic en Iniciar LXC Mosiac botón verde que se encuentra en la parte superior derecha.
Introduzca el nombre de usuario y contraseña que ha creado arriba e Iniciar sesión .
Finalmente, tiene la interfaz gráfica de usuario para administrar todos sus contenedores LXC que se ejecutan en AlmaLinux o Rocky Linux 8.
Pensamientos finales:
Entonces, este fue un breve tutorial sobre la instalación, creación y eliminación de contenedores LXD/LXC en AlmaLinux o Rocky Linux, incluido CentOS/RHEL 8. Además, para administrar las cosas fácilmente, podemos usar la interfaz gráfica de usuario de Mosiac. En caso de que tenga algún problema, háganos saber que la sección de comentarios es toda suya...