Instale LXC (contenedores de Linux) en Rhel, Rocky y Almalinux
- 4258
- 972
- Hugo Vera
Lxd se describe como el contenedor de próxima generación y el Administrador de máquinas virtuales que ofrece un inmersivo para sistemas Linux que ejecutan contenedores internos o como máquinas virtuales.
Proporciona imágenes para un número excesivo de distribuciones de Linux con soporte para una amplia selección de backends de almacenamiento y tipos de red. También proporciona la opción de instalar las imágenes en una PC/computadora portátil individual e incluso en una instancia de la nube.
Lxd le permite administrar contenedores y máquinas virtuales utilizando tres formas. Puedes aprovechar el cliente LXC o herramienta de línea de comandos, una API REST o incluso integraciones de terceros.
Características LXD
Notable Lxd Las características incluyen:
- LXD está basado en imágenes con imágenes para una amplia selección de distribuciones de Linux.
- Está construido con seguridad como una prioridad.
- Proporciona una herramienta REST API y LXC de línea de comandos para interactuar con contenedores.
- Proporciona soporte para una amplia gama de backends de almacenamiento, volúmenes de almacenamiento y grupos de almacenamiento.
- La gestión de la red se realiza a través de la creación de redes de puentes y túneles de host cruzados.
- Control avanzado de recursos como CPU, RAM, uso de disco, E/S de bloque y recursos del núcleo.
- Flexible y escalable: puede implementar contenedores en su PC y configurar un clúster que pueda agregar miles de contenedores en varios nodos.
Que es lxc?
No estar confundido con el LXC Herramienta de cliente de línea de comandos proporcionada por Lxd, LXC (Contenedor de Linux) es una tecnología de virtualización popular de nivel del sistema operativo que utiliza una potente API y otras herramientas para permitir a los usuarios crear y administrar contenedores y máquinas virtuales en un solo host. Comprende plantillas, lenguaje de herramientas y enlaces de biblioteca.
Características de LXC
LXC Aprovecha las siguientes características del núcleo para manejar los procesos:
- Espacios de nombres del núcleo: PID, Monte, Network UTS y usuario.
- CGROUPS (grupos de control).
- Chroots - Uso de Pivot_root.
- Políticas de seccomp.
- Perfiles de Selinux y Apparmor.
Linuxcontainers.org es el proyecto paraguas detrás de ambos Lxd y LXC. Su objetivo es ofrecer una plataforma de distribución y proveedor neutral para las tecnologías de contenedores de Linux.
Con esa introducción fuera del camino, ahora demostraremos cómo crear y administrar LXC contenedores en distribuciones de Linux con sede en RHEL como Cento, Rocky Linux, y Almalinux.
Requisitos
Un sistema operativo Linux que trabaja con una instalación mínima:
- Instalación de Rhel Linux
- Instalación de Centos Linux
- Instalación de Rocky Linux
- Instalación de Almalinux
Paso 1: configure Selinux en modo permisivo
De inmediato, comenzaremos configurando Selinux y establecerlo en permisivo. Pero antes de hacerlo, actualicemos los paquetes del sistema de la siguiente manera:
$ sudo dnf actualización
Para establecer Selinux Para permitir, ejecute el comando:
$ sudo sed -i 's/^selinux =.*/Selinux = permisivo/g '/etc/selinux/config
Para que esto entre en vigencia, reinicie su servidor.
$ sudo reinicio
Y confirmar el estado de Selinux.
$ getenforceVerifique el modo Selinux
Paso 2: Instale el repositorio EPEL
Epel es un repositorio del Proyecto Fedora que proporciona un conjunto de paquetes de alta calidad para Redhat Enterprise Linux y otras distribuciones basadas en Rhel.
$ sudo yum instalación https: // dl.federaproject.org/pub/epel/epel-liber-latest-8.noarch.RPM o $ sudo yum instalación EPEL-liberaciónInstalar el repositorio EPEL
Paso 3: Agregue los parámetros del núcleo
Antes de instalar Lxd, Se requieren algunos parámetros adicionales. Por lo tanto, cambie al usuario root:
$ su -
Y agregue los parámetros de la siguiente manera.
$ grubby --args = "user_namespace.enable = 1 "-update-kernel =" $ (grubby --fault-kernel) "$ grubby --args =" espacio de nombres.sinsev_enable = 1 "-update-kernel =" $ (grubby --fault-kernel) usuarios de "$ echo".max_user_namespaces = 3883 "| sudo tee -a /etc /sysctl.d/99-userns.confusiónAgregar parámetros del núcleo Linux
Una vez que los parámetros estén en su lugar, continúe y habilite Snap.
Paso 4: instalar y habilitar SNAP
La forma más sencilla de instalar Lxd en Rhel 8 es instalarlo como un quebrar paquete. Pero primero, instalemos quebrar como sigue.
$ sudo dnf instalación snapd
Esto se instalará Snapd demonio o servicio junto con otras dependencias de Python como se muestra.
Instale Snap en LinuxCon Snap instalado, continúe y habilite el principal quebrar zócalo de comunicación.
$ sudo systemctl habilitarse -pero snapd.enchufe
Además, habilite el soporte clásico creando un enlace simbólico de /var/lib/snapd/snap a /quebrar.
$ sudo ln -s/var/lib/snapd/snap/snap
Para actualizar el quebrar rutas, reiniciar su sistema.
$ sudo reinicio
Paso 5: Instale el administrador de contenedores LXD
Hay dos formas de instalar Lxd a partir de una quebrar. Puede instalar la última versión de Lxd como se muestra.
$ sudo Snap Install -Classic LXDInstalar LXD en Linux
Alternativamente, puede instalar el último establo LTS Versión de la siguiente manera:
$ sudo snap install lxd --channel = 4.0/establo
Para poder ejecutar LXC comandos sin cambiar al usuario de sudo, agregue el usuario iniciado actualmente al usuario lxd grupo.
$ sudo usermod -ag lxd $ user
Verifique que el usuario haya sido agregado al lxd agrupar enumerando todos los grupos a los que pertenece el usuario.
$ grupos TecMintGrupos de lista en Linux
A continuación, ejecuta el nuevo Comando de la siguiente manera.
$ Newgrp LXD
El comando cambia la ID del grupo actual durante una sesión de inicio de sesión. Establece la ID del grupo actual en el grupo nombrado que es lxd.
Paso 6: Inicialización del entorno LXD
Antes de comenzar a crear y administrar Lxd contenedores, necesitamos inicializar el Lxd entorno ejecutando el comando.
$ lxc init
Lo que sigue es una serie de indicaciones que le permitirán configurar su entorno. Los valores predeterminados funcionarán bien, pero no dude en especificar sus propias preferencias.
Hemos creado un grupo de almacenamiento llamado tec-cool con el LVM opción como backend.
Inicializando el entorno LXDPara verificar el Lxd entorno que acaba de configurar, hay una serie de comandos que puede usar. Por ejemplo, para mostrar el perfil LXD predeterminado ejecutar:
$ LXC Perfil Mostrar predeterminadoLista de perfiles LXD
Para mostrar los adaptadores de red y el IPv4 y IPv6 direcciones, ejecutar:
Lista de red de $ LXCLista de adaptadores de red LXD
Puede reducirlo aún más y mostrar información más fina sobre el LXDBR0 interfaz de la siguiente manera.
$ LXC Network Show LXDBR0Lista de información de red LXD
También puede verificar el grupo de almacenamiento.
Lista de almacenamiento de $ LXCListar el grupo de almacenamiento LXD
Puede obtener más detalles sobre el grupo de almacenamiento.
Show de almacenamiento de $ LXC Tec-PoolLista de información de la piscina de almacenamiento LXD
Para enumerar la ejecución LXC contenedores, ejecute el comando:
Lista de $ LXC
Por el momento, todavía no tenemos recipientes para correr. Entonces obtendrá una mesa vacía con solo las etiquetas de la columna.
Lista de contenedores LXC en ejecuciónPaso 7: Listado de imágenes de contenedor LXC prebuilt
Al igual que Estibador, el LXC La plataforma proporciona un repositorio de imágenes preconstruidas que puede crear contenedores. Para enumerar todas las imágenes preconstruidas para todos los sistemas operativos, incluidas las máquinas virtuales, ejecute el comando:
$ LXC Imágenes de la lista de imágenes:
Esto poca una gran lista de imágenes de contenedores y máquinas virtuales para todos los sistemas operativos. Para reducir a una distribución específica de Linux, use la sintaxis:
$ LXC Imágenes de la lista de imágenes: Grep -I OS -Type
Por ejemplo, para buscar imágenes disponibles para Rocky Linux, Ejecute el comando:
$ LXC Imágenes de la lista de imágenes: Grep -i RockyLista de imágenes de contenedores LXC
Si esta buscando Debian Imágenes, ejecute el comando:
$ LXC Imágenes de la lista de imágenes: Grep -i DebianLista de lxc debian imagen
Paso 8: Lanzamiento de contenedores LXC
Lanzar LXC contenedores, use la sintaxis:
$ lxc Imágenes de lanzamiento: distribuy/versión/arqu contenedor-name-here
Aquí, lanzaremos 2 contenedores: TEC-Container1 de Debian 10 y TEC-Container2 de Rocky Linux 8.
$ LXC Imágenes de lanzamiento: Debian/10/AMD64 TEC-Container1 $ LXC Imágenes de lanzamiento: Rockylinux/8/AMD64 TEC-Container2Iniciar contenedores LXC
Para enumerar el LXC contenedores, ejecutar el comando:
Lista de $ LXC
La salida muestra una gran cantidad de información sobre los contenedores. Esto incluye el nombre de los contenedores, el estado, ya sea en ejecución o detenido, las direcciones IPv4 e IPv6, el tipo (ya sea un contenedor o una máquina virtual) y varias instantáneas.
Lista de contenedores LXCPara enumerar solo los contenedores, ejecute el comando:
Lista de $ LXC | Grep -i Corriendo
Del mismo modo, para contenedores detenidos, ejecute:
Lista de $ LXC | Grep -i me detuveLista que ejecuta contenedores LXC
Puede investigar la información y las métricas de un contenedor, como la ejecución de procesos, la utilización de la CPU y la memoria, y el ancho de banda para mencionar algunos utilizando el comando:
$ LXC Información TEC-Container1Lista de información del contenedor LXC
Paso 9: Obtenga acceso de shell a un contenedor LXC
Puede obtener acceso bash a un contenedor utilizando la sintaxis:
$ LXC EXEC CONTENEDER-NAME Nombre de la cáscara
Para obtener acceso de concha a TEC-Container1, Ejecutaremos el comando:
$ LXC EXEC TEC-Container1 Bash
Una vez que haya obtenido acceso de shell, puede comenzar a interactuar con el contenedor como usuario raíz ejecutando comandos de shell comunes, incluida la actualización del sistema como se muestra:
Actualización de $ aptObtenga acceso a la carcasa del contenedor LXC
Para salir del contenedor, ejecute el comando:
$ Salida
Alternativamente, puede ejecutar los comandos directamente en el contenedor sin acceder al shell utilizando el siguiente formato:
Comando de nombre de contenedor ejecutivo de $ LXC
Por ejemplo, puede ejecutar los siguientes comandos que actualizarán las listas de paquetes, verifique la versión del sistema operativo que se ejecuta en el contenedor de Debian y verifique la fecha.
$ LXC EXEC TEC-Container1 Apt Update $ LXC EXEC TEC-Container1 CAT /ETC /DEBIAN_VERSION $ LXC EXEC TEC-Container1 FechaEjecutar comandos en el contenedor LXC
Paso 10: extraer / empujar un archivo (s) a un contenedor LXC
Otra operación que puede llevar a cabo es transferir archivos hacia y desde el contenedor. Para demostrar esto, crearemos un nuevo directorio en el Lxd contenedor y navegar hacia él.
# datos de datos mkdir && cd
A continuación, crearemos un archivo de muestra y agregaremos algunos datos. Para hacerlo, crearemos un archivo de muestra con empuje editor
# archivo vim1.TXT
A continuación, escribiremos algún texto de muestra y guardaremos el archivo.
Hola mundo, bienvenido a los contenedores LXD.
Para extraer el archivo del contenedor al sistema de host local, usaremos la 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 /tecmintExtraiga los archivos al contenedor LXC
Para presionar o copiar un archivo del directorio local al contenedor, use la sintaxis:
$ LXC File Push /Path/To/File Container-Nane/Path/To/Dest/Dir/
En este caso, tenemos un archivo de muestra en el directorio de inicio llamado archivo2.TXT ser copiado al /root/data/ camino en el TEC-Container2 envase.
$ LXC FILE PUSP/HOME/TECMINT/FILE2.TXT TEC-Container2/root/data/
Para confirmar la existencia del archivo en el contenedor, ejecutaremos:
$ LXC EXEC TEC-Container2 LS /Root /DataEmpujar archivos al contenedor LXC
Paso 11: detener / iniciar / reiniciar y eliminar los contenedores LXC
Con el LXC Utilidad de línea de comandos Puede realizar tareas de gestión de contenedores como detenerse, comenzar, reiniciar y eliminar contenedores.
Para detener un LXC contenedor, use la sintaxis:
$ LXC STOP Nombre del contenedor
Por ejemplo, para parar TEC-Container1, Ejecutaremos el comando:
$ LXC STOP TEC-Container1Detener el contenedor LXC
Para comenzar el LXC contenedor, use la sintaxis:
$ LXC Start contenedor
Por ejemplo, para comenzar TEC-Container1, Ejecutaremos:
$ LXC Start TEC-Container1Iniciar contenedor LXC
Para reiniciar ambos LXC contenedores, ejecutaremos el comando:
$ LXC reiniciar TEC-Container1 $ LXC reiniciar TEC-Container2Reiniciar contenedores LXC
Para eliminar un LXC contenedor, primero debe detener el contenedor y luego eliminarlo. Por ejemplo, para eliminar, ejecutaremos los comandos:
$ LXC STOP TEC-Container1 $ LXC DELETE TEC-Container1
Alternativamente, puede combinar estos dos comandos como se muestra.
$ LXC STOP TEC-Container1 && LXC Delete TEC-Container1Eliminar contenedores LXC
Paso 12: Obtenga ayuda en las opciones de línea de comandos LXC
Para obtener ayuda en otras opciones de comando proporcionadas por LXC, Simplemente ejecute el comando:
$ LXC -Help o $ LXC comando --help E.G $ LXC File --helpAyuda del contenedor LXC
Conclusión
Eso fue una inmersión profunda en Lxd contenedores y cómo puede crearlos y administrarlos utilizando el LXC herramienta de utilidad de línea de comandos. Confiamos en que haya encontrado útil esta guía.
- « 30 comandos útiles de Linux para administradores del sistema
- 10 WGET (Linux File Downloader) Ejemplos de comando en Linux »