Tutoriales

Instale LXC (contenedor de Linux) en RHEL, Rocky y AlmaLinux

LXD Descrito como el administrador de contenedores y máquinas virtuales de próxima generación, puede proporcionar una experiencia inmersiva para los sistemas Linux que se ejecutan en contenedores o como máquinas virtuales.

Proporciona imágenes para una gran cantidad de distribuciones de Linux y admite varios tipos de redes y backends de almacenamiento. También brinda la opción de instalar la imagen en una sola PC / computadora portátil o incluso en una instancia en la nube.

LXD Le permite administrar contenedores y máquinas virtuales de tres formas.Puedes usar Cliente LXC O herramientas de línea de comandos, API REST o incluso integración de terceros.

Funciones LXD

Significativo LXD Las características incluyen:

Publicaciones relacionadas
  • LXD está basado en imágenes y contiene imágenes adecuadas para múltiples distribuciones de Linux.
  • Pone la seguridad como la máxima prioridad.
  • Proporciona una API REST y una herramienta de línea de comandos lxc para interactuar con el contenedor.
  • Brinda soporte para una amplia gama de backends de almacenamiento, volúmenes de almacenamiento y grupos de almacenamiento.
  • La gestión de la red se logra mediante la creación de redes puenteadas y túneles entre hosts.
  • Control avanzado de recursos como CPU, RAM, uso de disco, E / S de bloque y recursos del kernel.
  • Flexible y escalable: puede implementar contenedores en su PC y configurar un clúster, que puede agregar miles de contenedores en cada nodo.

¿Qué es LXC?

No vayas con LeEco Herramientas de cliente de línea de comandos proporcionadas LXD, LXC (Contenedor de Linux) Es una popular tecnología de virtualización a nivel de sistema operativo que utiliza potentes API y otras herramientas para permitir a los usuarios crear y administrar sin problemas contenedores y máquinas virtuales en un solo host. Incluye plantillas, lenguajes de herramientas y enlaces de biblioteca.

Características de LXC

LXC Utilice las siguientes funciones del kernel para manejar el proceso:

  • Espacio de nombres del kernel: pid, mount, uts network y user.
  • CGroups (grupo de control).
  • Chroots-Use pivot_root.
  • Política de seccomp.
  • Archivos de configuración de SELinux y Apparmor.

Linuxcontainers.org ¿Es el proyecto general detrás de los dos LXD y LXCSu objetivo es proporcionar una plataforma de distribución y proveedor neutral para la tecnología de contenedores de Linux.

Con esta introducción, ahora demostraremos cómo crear y administrar LXC Contenedores en distribuciones de Linux basadas en RHEL, por ejemplo CentOS, Rocky Linux, y Alma Linux.

Exigir

Un sistema operativo Linux que se ejecuta menos:

Paso 1: Configure SELinux en modo permisivo

Pronto comenzaremos a configurar SELinux Y déjelo suelto. Pero antes de hacer eso, actualice el paquete del sistema de la siguiente manera:

$ sudo dnf update

configurar SELinux Permitir, ejecutar el comando:

$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Para que surta efecto, reinicie el servidor.

$ sudo reboot

Y confirma el estado SELinux.

$ getenforce
Compruebe el modo SELinux

Paso 2: instalar el repositorio de EPEL

Epel Es desde Proyecto Fedora Proporciona un conjunto de paquetes de alta calidad. Red Hat Enterprise Linux Y otras distribuciones basadas en RHEL.

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OR
$ sudo yum install epel-release
Instalar el repositorio de EPEL
Instalar el repositorio de EPEL

Paso 3: agregue los parámetros del kernel

Antes de instalar LXD, Se requieren algunos parámetros adicionales. Así que cambie al usuario root:

$ su -

Y agregue los siguientes parámetros.

$ grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
$ grubby --args="namespace.unpriv_enable=1" --update-kernel="$(grubby --default-kernel)"
$ echo "user.max_user_namespaces=3883" | sudo tee -a /etc/sysctl.d/99-userns.conf
Agregar parámetros del kernel de Linux
Agregar parámetros del kernel de Linux

Después de configurar los parámetros, continúe y habilite Snap.

Paso 4: instala y habilita Snap

La forma más sencilla de instalar LXD existe RHEL 8 Es instalarlo como Romper paquete.Pero primero, instalemos Romper como sigue.

$ sudo dnf install snapd

Esto instalará Instantánea El demonio o servicio y otras dependencias de Python, como se muestra en la figura.

Instalar Snap en Linux
Instalar Snap en Linux

Después de instalar snap, continúe y habilite la Romper Toma de comunicación.

$ sudo systemctl enable --now snapd.socket

Además, habilite el soporte clásico creando un enlace simbólico desde / var / lib / snapd / snap llegar /Roto.

$ sudo ln -s /var/lib/snapd/snap  /snap

renovar Romper Ruta, reinicia el sistema.

$ sudo reboot

Paso 5: Instale LXD Containerization Manager

Hay dos formas de instalar LXD A partir de una Romper. Puede instalar la última versión de LXD como muestra la imagen.

$ sudo snap install —-classic lxd
Instalar LXD en Linux
Instalar LXD en Linux

O puede instalar la última versión estable Servicio a largo plazo La versión es la siguiente:

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

Para poder ejecutar LeEco Comando sin cambiar al usuario sudo, agregue el usuario actualmente conectado a lxd grupo.

$ sudo usermod -aG lxd $USER

Verifique que el usuario se haya agregado a lxd agrupar enumerando todos los grupos a los que pertenece el usuario.

$ groups tecmint
Listar grupos en Linux
Listar grupos en Linux

A continuación, corre Nuevo grupo El comando es el siguiente.

$ newgrp lxd

Este comando cambia el ID de grupo actual durante la sesión de inicio de sesión.Establece la ID del grupo actual como un grupo con nombre lxd.

Paso 6: inicializar el entorno LXD

Antes de empezar a crear y gestionar LXD Contenedor, necesitamos inicializar LXD Ejecute el entorno de comandos.

$ lxc init

A continuación, encontrará una serie de indicaciones que le permitirán configurar su entorno. El valor predeterminado funciona bien, pero puede especificar sus propias preferencias como desee.

Creamos un grupo de almacenamiento llamado Fondo de tecnología y lvm Opción como backend.

Inicializar el entorno LXD
Inicializar el entorno LXD

para probar LXD En el entorno que acaba de configurar, puede utilizar muchos comandos. Por ejemplo, para mostrar el archivo de configuración LXD predeterminado, ejecute:

$ lxc profile show default
Lista de archivos de configuración de LXD
Lista de archivos de configuración de LXD

Mostrar adaptador de red y IPv4 y IPv6 Dirección, ejecute:

$ lxc network list
Lista de adaptadores de red LXD
Lista de adaptadores de red LXD

Puede limitar aún más el alcance y mostrar información relevante Nombre del archivo La interfaz es la siguiente.

$ lxc network show lxdbr0
Muestra la información de la red LXD
Muestra la información de la red LXD

También puede verificar el grupo de almacenamiento.

$ lxc storage list
Lista de grupos de almacenamiento LXD
Lista de grupos de almacenamiento LXD

Además, puede obtener información compleja y detallada sobre el grupo de almacenamiento.

$ lxc storage show tec-pool
Enumere la información del grupo de almacenamiento LXD
Enumere la información del grupo de almacenamiento LXD

Ejecuciones de lista LeEco Contenedor, ejecute el comando:

$ lxc list

Actualmente, no tenemos contenedores en ejecución. Entonces obtendrá una tabla vacía con solo etiquetas de columna.

Lista de contenedores que ejecuta LXC
Lista de contenedores que ejecuta LXC

Paso 7: enumere las imágenes de contenedores LXC prediseñadas

Al igual que Peón, Esta LXC La plataforma proporciona un repositorio de imágenes prediseñadas a partir de las cuales puede crear contenedores. Para enumerar todas las imágenes prediseñadas para todos los sistemas operativos (incluidas las máquinas virtuales), ejecute el siguiente comando:

$ lxc image list images: 

Esto llena todos los sistemas operativos con una gran cantidad de imágenes de contenedor y máquinas virtuales. Para limitarse a una distribución de Linux específica, use la siguiente sintaxis:

$ lxc image list images: grep -i os-type

Por ejemplo, para buscar imágenes disponibles Rocky Linux, Ejecute el comando:

$ lxc image list images: grep -i rocky
Lista de imágenes de contenedores LXC
Lista de imágenes de contenedores LXC

Si usted está buscando Debian Imagen, comando de ejecución:

$ lxc image list images: grep -i debian
Lista de imágenes LXC Debian
Lista de imágenes LXC Debian

Paso 8: Inicie el contenedor LXC

desenrollar LeEco Contenedor, use la sintaxis:

$ lxc launch images:{distro}/{version}/{arch} {container-name-here}

Aquí, comenzaremos con 2 contenedores: tec-container1 desde Debian 10 y tec-container2 desde Rocky Linux 8.

$ lxc launch images:debian/10/amd64 tec-container1
$ lxc launch images:rockylinux/8/amd64 tec-container2 
Inicie el contenedor LXC
Inicie el contenedor LXC

Lista LeEco Contenedor, ejecuta el comando:

$ lxc list

La salida muestra mucha información sobre el contenedor. Esto incluye el nombre del contenedor, el estado (en ejecución o detenido), las direcciones IPv4 e IPv6, el tipo (contenedor o máquina virtual) y algunas instantáneas.

Listar contenedores LXC
Listar contenedores LXC

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

$ lxc list | grep -i running

De manera similar, para contenedores detenidos, ejecute:

$ lxc list | grep -i stopped
Listar contenedores LXC en ejecución
Listar contenedores LXC en ejecución

Puede utilizar los siguientes comandos para sondear la información y las métricas del contenedor, como los procesos en ejecución, la utilización de la CPU y la memoria, el ancho de banda, etc.

$ lxc info tec-container1 
Listar la información del contenedor LXC
Listar la información del contenedor LXC

Paso 9: Obtenga acceso de Shell al contenedor LXC

Puede usar la siguiente sintaxis para obtener acceso de bash al contenedor:

$ lxc exec container-name  name-of-the-shell

Obtenga acceso al caparazón tec-container1, Ejecutaremos el comando:

$ lxc exec tec-container1 bash

Después de obtener acceso al shell, puede comenzar a interactuar con el contenedor como usuario root ejecutando comandos de shell comunes (incluida la actualización del sistema), como se muestra a continuación:

$ apt update
Obtenga acceso a la carcasa del contenedor LXC
Obtenga acceso a la carcasa del contenedor LXC

Para salir del contenedor, ejecute el siguiente comando:

$ exit

Alternativamente, puede usar el siguiente formato para ejecutar comandos directamente en el contenedor sin acceso al shell:

$ lxc exec container-name command

Por ejemplo, puede ejecutar los siguientes comandos para actualizar la lista de paquetes, verificar la versión del sistema operativo que se ejecuta en el contenedor Debian y verificar la fecha.

$ lxc exec tec-container1 apt update
$ lxc exec tec-container1 cat /etc/debian_version
$ lxc exec tec-container1 date
Ejecutar comandos en el contenedor LXC
Ejecutar comandos en el contenedor LXC

Paso 10: Tire / empuje el archivo al contenedor LXC

Otra operación que puede realizar es transferir archivos dentro y fuera del contenedor.Para demostrar esto, estaremos LXD Contenedor y navega hasta él.

# mkdir data && cd data

A continuación, crearemos un archivo de muestra y agregaremos algunos datos.Para ello, crearemos un archivo de muestra. empuje editar

# vim file1.txt

A continuación, ingresaremos un texto de muestra y guardaremos el archivo.

Hello World, Welcome to LXD containers.

Para extraer archivos del contenedor al sistema host local, usaremos la siguiente sintaxis:

$ lxc file pull {container-name}/{path/to/file} {/path/to/local/dest}

En este caso, el comando será:

$ lxc file pull tec-container2/root/data/file1.txt /home/tecmint
Extraiga archivos al contenedor LXC
Extraiga archivos al contenedor LXC

Para enviar o copiar archivos desde un directorio local al contenedor, use la siguiente sintaxis:

$ lxc file push {/path/to/file} {container-nane} /path/to/dest/dir/

En este caso, tenemos un archivo de muestra llamado Archivo 2.txt Se copia a / Raíz / datos / En el camino tec-container2 envase.

$ lxc file push /home/tecmint/file2.txt tec-container2/root/data/

Para confirmar la existencia del archivo en el contenedor, ejecutaremos:

$ lxc exec tec-container2 ls /root/data
Empuje el archivo al contenedor LXC
Empuje el archivo al contenedor LXC

Paso 11: detener / iniciar / reiniciar y eliminar el contenedor LXC

junto con LeEco Utilidad de línea de comandos, puede realizar tareas de administración de contenedores como detener, iniciar, reiniciar y eliminar contenedores.

Detener uno LeEco Contenedor, use la sintaxis:

$ lxc stop container-name

Por ejemplo, detén tec-container1, Ejecutaremos el comando:

$ lxc stop tec-container1
Detenga el contenedor LXC
Detenga el contenedor LXC

puesta en marcha LeEco Contenedor, use la sintaxis:

$ lxc start container-name

Por ejemplo, para empezar tec-container1, Ejecutaremos:

$ lxc start tec-container1
Inicie el contenedor LXC
Inicie el contenedor LXC

Reiniciar ambos LeEco Contenedor, ejecutaremos el comando:

$ lxc restart tec-container1
$ lxc restart tec-container2
Reinicie el contenedor LXC
Reinicie el contenedor LXC

Eliminar uno LeEco Contenedor, primero debe detener el contenedor y luego eliminarlo. Por ejemplo, para eliminar, ejecutaremos el siguiente comando:

$ lxc stop tec-container1
$ lxc delete tec-container1

Alternativamente, puede combinar estos dos comandos como se muestra en la figura.

$ lxc stop tec-container1 && lxc delete tec-container1
Eliminar contenedor LXC
Eliminar contenedor LXC

Paso 12: Obtenga ayuda sobre las opciones de línea de comando de LXC

Obtenga ayuda sobre otras opciones de comando proporcionadas por LXC, Simplemente ejecute el siguiente comando:

$ lxc --help
OR
$ lxc command --help e.g
$ lxc file --help
Ayuda del contenedor LXC
Ayuda del contenedor LXC
en conclusión

Eso es una investigación en profundidad LXD Contenedor y como usar LeEco Utilidad de línea de comandos. Creemos que esta guía le resultó útil.

.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba