Ya fue liberada la nueva versión de LXC y LXD 4.0 y estas son sus novedades
Canonical ha publicado el lanzamiento de la nueva versión de sus herramientas para organizar la operación de contenedores aislados LXC 4.0, el administrador de contenedores LXD 4.0 y el FS LXCFS virtual 4.0 para simulación en contenedores /proc, /sys y cgroupfs virtualizados para distribuciones sin soporte para espacios de nombres de cgroup.
Para quienes desconocen de estas herramientas deben saber que LXC es un runtime para ejecutar tanto contenedores del sistema como contenedores para aplicaciones individuales (OCI). LXC incluye la biblioteca liblxc, un conjunto de utilidades, plantillas para crear contenedores y un conjunto de carpetas para varios lenguajes de programación.
LXD es un complemento para LXC, CRIU y QEMU que se usa para administrar centralmente contenedores y máquinas virtuales en uno o más servidores. Si LXC es un kit de herramientas de bajo nivel para manipular a nivel de contenedores individuales, LXD se implementa como un proceso en segundo plano que acepta solicitudes a través de la red a través de la API REST y le permite crear configuraciones escalables implementadas en un clúster de varios servidores.
Admite varios backends de almacenamiento (árbol de directorios, ZFS, Btrfs, LVM), instantáneas con un corte de estado, migración en vivo de contenedores de trabajo de una máquina a otra y herramientas para organizar el almacenamiento de imágenes. El código LXD está escrito en Go y se distribuye bajo la licencia Apache 2.0.
¿Qué hay de nuevo en LXC 4.0?
En esta nueva versión, el controlador para trabajar con cgroup ha sido reescrito completamente, además de que se agregó soporte para la jerarquía unificada de cgroup (cgroup2), se agregó la funcionalidad del controlador del congelador con la cual puede dejar de trabajar en cgroup y liberar temporalmente algunos recursos (CPU, I/O y posiblemente, incluso memoria) para realizar otras tareas.
También se agregó soporte para el subsistema de kernel “pidfd” diseñado para manejar la situación de reutilización de PID (pidfd se une a un proceso específico y no cambia, mientras que el PID se puede vincular a otro proceso después de completar el proceso actual asociado con este PID)
Además, se implementó una infraestructura para interceptar llamadas del sistema y la creación y eliminación fue mejorada para los dispositivos de red, así como su movimiento entre los espacios de nombres del subsistema de red.
Y se implementó la capacidad de mover dispositivos de red inalámbrica (nl80211) a contenedores.
¿Qué hay de nuevo en LXD 4.0?
Para segmentar los servidores LXD, se ha propuesto un concepto de proyecto que simplifica la administración de grupos de contenedores y máquinas virtuales. Cada proyecto puede incluir su propio conjunto de contenedores, máquinas virtuales, imágenes, perfiles y particiones de almacenamiento. En relación con los proyectos, puede establecer sus propias restricciones y cambiar la configuración.
Se agrego el soporte para lanzar no solo contenedores, sino también máquinas virtuales, también el soporte para interceptar llamadas del sistema para contenedores, así como también el soporte para shiftfs, un FS virtual para asignar puntos de montaje al espacio de nombres de usuario (espacio de nombres de usuario).
Se agregó la capacidad de configurar la dirección MAC y determinar la dirección de origen para NAT y también una API agregada para administrar enlaces en DHCP.
También se proporciona en esta nueva versión la creación automatizada de instantáneas de entornos y secciones de almacenamientos con la capacidad de establecer la vida útil de una instantánea.
De los demás cambios que se mencionan en el anuncio:
- Implementé la creación de copias de seguridad de entornos y la recuperación de ellos.
- API agregada para monitorear el estado de la red (información de red lxc).
- Se proponen nuevos tipos de adaptadores de red “ipvlan” y “enrutados”.
- Backend agregado para usar almacenamientos basados en CephFS.
- Los clústeres admiten replicación de imágenes y configuraciones de arquitectura múltiple.
- Control de acceso basado en roles (RBAC) agregado.
- Soporte agregado para CGroup2.
- Se agregó soporte para Nftables.
Finalmente si quieres conocer más al respecto sobre las novedades de esta nueva versión, puedes consultar los detalles en el siguiente enlace.