Lanzamiento de las herramientas de gestión de contenedores LXC y LXD 4.0

Compañía canónica опубликовала Lanzamiento de herramientas para organizar el trabajo de contenedores aislados. LXC 4.0, administrador de contenedores LXD 4.0 y FS virtuales LXCFS 4.0 para simulación en contenedores /proc, /sys y una representación cgroupfs virtualizada para distribuciones sin soporte para espacios de nombres cgroup. La rama 4.0 está clasificada como una versión de soporte a largo plazo, cuyas actualizaciones se generan durante un período de 5 años.

LXC es un tiempo de ejecución para ejecutar contenedores de sistema y contenedores OCI. LXC incluye la biblioteca liblxc, un conjunto de utilidades (lxc-create, lxc-start, lxc-stop, lxc-ls, etc.), plantillas para crear contenedores y un conjunto de enlaces para varios lenguajes de programación. El aislamiento se lleva a cabo utilizando mecanismos estándar del kernel de Linux. Para aislar procesos, se utiliza la pila de red ipc, uts, ID de usuario y puntos de montaje, el mecanismo de espacios de nombres. Los cgroups se utilizan para limitar los recursos. Para reducir los privilegios y limitar el acceso, se utilizan funciones del kernel como perfiles Apparmor y SELinux, políticas Seccomp, Chroots (pivot_root) y capacidades. Código LXC esta escrito en lenguaje C y distribuido bajo licencia GPLv2.

LXD es un complemento para LXC, CRIU y QEMU que se utiliza para administrar de forma centralizada contenedores y máquinas virtuales en uno o más servidores. Si LXC es un conjunto de herramientas de bajo nivel para la manipulación a nivel de contenedores individuales, entonces 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 grupo de varios servidores.
Se admiten varios backends de almacenamiento (árbol de directorios, ZFS, Btrfs, LVM), instantáneas con un segmento de estado, migración en vivo de contenedores en ejecución de una máquina a otra y herramientas para organizar el almacenamiento de imágenes. Código LXD esta escrito en Go y distribuido bajo la licencia Apache 2.0.

Llave mejoras en LXC 4.0:

  • El controlador ha sido completamente reescrito para funcionar con cgroup. Se agregó soporte para la jerarquía de cgroup unificada (cgroup2). Se agregó la funcionalidad del controlador del congelador, con la que puede detener el trabajo en un cgroup y liberar temporalmente algunos recursos (CPU, E/S y potencialmente incluso memoria) para realizar otras tareas;
  • Infraestructura implementada para interceptar llamadas al sistema;
  • Se agregó soporte para el subsistema del kernel "pidfd", diseñado para manejar la situación de reutilización de PID (pidfd está asociado con un proceso específico y no cambia, mientras que un PID puede asociarse con otro proceso después de que termina el proceso actual asociado con ese PID). ;
  • Creación y eliminación mejorada de dispositivos de red, así como su movimiento entre espacios de nombres de subsistemas de red;
  • Se ha implementado la capacidad de mover dispositivos de red inalámbrica (nl80211) a contenedores.

Llave mejoras en LXD 4.0:

  • Se agregó soporte para iniciar no solo contenedores, sino también máquinas virtuales;
  • Para segmentar los servidores LXD se ha propuesto un concepto de proyecto que simplifica la gestió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 agregó soporte para interceptar llamadas al sistema para contenedores;
  • Implementada creación de copias de seguridad de entornos y restauración a partir de ellos;
  • La creación automatizada de instantáneas de entornos y particiones de almacenamiento cuenta con la capacidad de establecer la vida útil de la instantánea;
  • API agregada para monitorear el estado de la red (información de la red lxc);
  • Soporte agregado turnos, FS virtual para asignar puntos de montaje a espacios de nombres de usuario;
  • Se han propuesto nuevos tipos de adaptadores de red “ipvlan” y “routed”;
  • Se agregó backend para usar almacenamiento basado en CephFS;
  • Se ha implementado soporte para replicación de imágenes y configuraciones de arquitectura múltiple para clústeres;
  • Se agregó control de acceso basado en roles (RBAC);
  • Se agregó soporte para CGroup2;
  • Se agregó la capacidad de configurar la dirección MAC y determinar la dirección de origen para NAT;
  • API agregada para administrar enlaces DHCP (arrendamientos);
  • Se agregó soporte para Nftables.

Fuente: opennet.ru

Añadir un comentario