Lanzamiento de Kata Containers 3.4 con aislamiento basado en virtualización

Se ha publicado la versión 3.4 del proyecto Kata Containers, que desarrolla un conjunto para la ejecución de contenedores utilizando aislamiento basado en completos mecanismos de virtualización. El proyecto fue creado por las empresas Intel y Hyper mediante la fusión de las tecnologías Clear Containers y runV. El código del proyecto está escrito en los lenguajes Go y Rust, y se distribuye bajo la licencia Apache 2.0. El desarrollo del proyecto está supervisado por un grupo de trabajo creado bajo los auspicios de la organización independiente OpenInfra Foundation, que incluye a empresas como Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE y ZTE.

La base de Kata es un runtime que permite crear máquinas virtuales compactas, ejecutadas utilizando un hipervisor completo, en lugar de utilizar contenedores tradicionales que comparten el núcleo de Linux y están aislados mediante espacios de nombres y cgroups. El uso de máquinas virtuales permite lograr un mayor nivel de seguridad, protegiendo contra ataques provocados por la explotación de vulnerabilidades en el núcleo de Linux.

Kata Containers está orientado a la integración en las infraestructuras de aislamiento de contenedores existentes con la capacidad de utilizar tales máquinas virtuales para mejorar la protección de los contenedores tradicionales. El proyecto proporciona mecanismos para asegurar la compatibilidad de las máquinas virtuales ligeras con diversas infraestructuras de aislamiento de contenedores, plataformas de orquestación de contenedores y especificaciones como OCI (Open Container Initiative), CRI (Container Runtime Interface) y CNI (Container Networking Interface). Hay disponibles herramientas para la integración con Docker, Kubernetes, QEMU y OpenStack.

La integración con los sistemas de gestión de contenedores se logra mediante una capa que simula la gestión del contenedor, que a través de una interfaz gRPC y un proxy especial se comunica con el agente de control en la máquina virtual. Dentro del entorno virtual, que es iniciado por el hipervisor, se utiliza un núcleo de Linux especialmente optimizado, que contiene solo el conjunto mínimo de capacidades necesarias.

Como hipervisor, se admite el uso de Dragonball Sandbox (edición KVM, optimizada para contenedores) con la herramienta QEMU, así como Firecracker y Cloud Hypervisor. El entorno del sistema incluye un demonio de inicialización y un agente (Agent). El agente permite ejecutar imágenes de contenedor especificadas por el usuario en formato OCI para Docker y CRI para Kubernetes. Al usarlo junto con Docker, se crea un entorno separado para cada contenedor. máquina virtual, es decir, el entorno ejecutable que se aplica sobre el hipervisor se utiliza para ejecutar contenedores anidados.

Lanzamiento de Kata Containers 3.4 con aislamiento basado en virtualización

Para reducir el consumo de memoria, se emplea el mecanismo DAX (acceso directo al sistema de archivos omitiendo la caché de páginas sin usar el nivel de dispositivos de bloques), y para la deduplicación de áreas de memoria idénticas, se utiliza la tecnología KSM (Kernel Samepage Merging), lo que permite organizar el uso compartido de recursos del sistema anfitrión y conectar un entorno de sistema común a diferentes sistemas invitados.

Para organizar el acceso a las imágenes de contenedores, se ha utilizado el sistema de archivos Nydus, que emplea la dirección basada en contenido para un trabajo colaborativo eficiente con imágenes estándar. Nydus admite la carga de imágenes sobre la marcha (solo se carga cuando es necesario), proporciona deduplicación de datos repetidos y puede utilizar diferentes backends para el almacenamiento efectivo. Se ofrece compatibilidad con POSIX (de forma similar a Composefs, la implementación de Nydus combina las capacidades de OverlayFS con EROFS o el módulo FUSE).

En la nueva versión:

  • El gestor de máquinas virtuales Dragonball ha agregado soporte para la conexión en caliente de GPU y la posibilidad de utilizar registros MTRR (Memory-Type Range Registers) para organizar el acceso a áreas de memoria física.
  • En runtime-rs, la implementación del runtime en el lenguaje Rust, se ha garantizado el manejo completo de hilos, pid y tid, además de haber rediseñado el controlador qemu, que se utiliza en sistemas con arquitectura s390 (IBM Z).
  • Se ha actualizado el servicio para la creación de instantáneas utilizando el sistema de archivos Nydus.
  • En el servicio de gestión de imágenes de contenedores se ha mejorado la eficiencia en el uso de la memoria.
  • Se ha habilitado por defecto el montaje de la jerarquía cgroups-v2 durante el arranque mediante systemd.
  • Se ha añadido la opción de definir un tiempo de espera para limitar el tiempo de obtención de imágenes muy grandes en sistemas invitados.
  • Se ha añadido soporte para la construcción del agente OPA (Open Policy Agent) para arquitecturas ppc64le y s390x.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster