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

Se publicó el lanzamiento del proyecto Kata Containers 3.2, que desarrolla una pila para organizar la ejecución de contenedores mediante aislamiento basado en mecanismos de virtualización completos. El proyecto fue creado por Intel e Hyper combinando Clear Containers y tecnologías runV. El código del proyecto está escrito en 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 OpenStack Foundation, que incluye empresas como Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE y ZTE. .

Kata se basa en tiempo de ejecución, lo que le permite crear máquinas virtuales compactas que se ejecutan utilizando un hipervisor completo, en lugar de utilizar contenedores tradicionales que utilizan un kernel de Linux común y están aislados mediante espacios de nombres y cgroups. El uso de máquinas virtuales permite alcanzar un mayor nivel de seguridad que protege contra ataques provocados por la explotación de vulnerabilidades en el kernel de Linux.

Kata Containers se centra en la integración en infraestructuras de aislamiento de contenedores existentes con la capacidad de utilizar máquinas virtuales similares para mejorar la protección de los contenedores tradicionales. El proyecto proporciona mecanismos para garantizar la compatibilidad de máquinas virtuales livianas con varias 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 herramientas disponibles 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 de contenedores, que accede al agente de gestión en la máquina virtual a través de la interfaz gRPC y un proxy especial. Dentro del entorno virtual, que inicia el hipervisor, se utiliza un kernel de Linux especialmente optimizado, que contiene solo el conjunto mínimo de capacidades necesarias.

Como hipervisor, admite el uso de Dragonball Sandbox (una edición de KVM optimizada para contenedores) con el kit de herramientas QEMU, así como Firecracker y Cloud Hypervisor. El entorno del sistema incluye un demonio de inicialización y un agente. El agente proporciona ejecución de imágenes de contenedores definidas por el usuario en formato OCI para Docker y CRI para Kubernetes. Cuando se usa junto con Docker, se crea una máquina virtual separada para cada contenedor, es decir, El entorno que se ejecuta sobre el hipervisor se utiliza para el lanzamiento anidado de contenedores.

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

Para reducir el consumo de memoria, se utiliza el mecanismo DAX (acceso directo al sistema de archivos, sin pasar por el caché de la página sin usar el nivel del dispositivo de bloque), y para deduplicar áreas de memoria idénticas, se utiliza la tecnología KSM (Kernel Samepage Merging), que le permite para organizar el intercambio de recursos del sistema host y conectarse a diferentes sistemas invitados, comparta una plantilla de entorno de sistema común.

Versículos nuevos:

  • Además de la compatibilidad con la arquitectura AMD64 (x86_64), se proporcionan versiones para las arquitecturas ARM64 (Aarch64) y s390 (IBM Z). Se está desarrollando soporte para la arquitectura ppc64le (IBM Power).
  • Para organizar el acceso a las imágenes de contenedores, se utiliza el sistema de archivos Nydus 2.2.0, que utiliza direccionamiento de contenido para una colaboración eficiente con imágenes estándar. Nydus admite la carga de imágenes sobre la marcha (descargas solo cuando es necesario), proporciona deduplicación de datos duplicados y puede utilizar diferentes backends para el almacenamiento real. Se proporciona compatibilidad con POSIX (similar a Composefs, la implementación de Nydus combina las capacidades de OverlayFS con el módulo EROFS o FUSE).
  • El gestor de máquinas virtuales Dragonball se ha integrado en la estructura principal del proyecto Kata Containers, que ahora se desarrollará en un repositorio común.
  • Se ha agregado una función de depuración a la utilidad kata-ctl para conectarse a una máquina virtual desde el entorno host.
  • Se han ampliado las capacidades de administración de GPU y se ha agregado soporte para reenviar GPU a contenedores para computación confidencial (Confidential Container), que proporciona cifrado de datos, memoria y estado de ejecución para protección en caso de que el entorno del host o el hipervisor se vea comprometido.
  • Se ha agregado a Runtime-rs un subsistema para administrar dispositivos utilizados en contenedores o entornos sandbox. Admite trabajar con vfio, bloque, red y otros tipos de dispositivos.
  • Se proporciona compatibilidad con OCI Runtime 1.0.2 y Kubernetes 1.23.1.
  • Se recomienda utilizar la versión 6.1.38 con parches como kernel de Linux.
  • El desarrollo se transfirió del sistema de integración continua Jenkins a GitHub Actions.

Fuente: opennet.ru

Añadir un comentario