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

Después de dos años de desarrollo, se ha publicado la versión 3.0 del proyecto Kata Containers, que desarrolla un stack para la ejecución de contenedores utilizando aislamiento basado en mecanismos de virtualización completos. El proyecto ha sido 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 es supervisado por un grupo de trabajo creado bajo los auspicios de la organización independiente OpenStack 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 proporciona la posibilidad de crear máquinas virtuales compactas que se ejecutan utilizando un hipervisor completo, en lugar de aplicar contenedores tradicionales que utilizan un núcleo Linux compartido y están aislados mediante espacios de nombres y cgroups. La aplicación 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.

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

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.0 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.

En la nueva versión:

  • Se ha propuesto un runtime alternativo (runtime-rs) que forma el contenido de los contenedores, escrito en el lenguaje Rust (el runtime anterior estaba escrito en Go). El runtime es compatible con OCI, CRI-O y Containerd, lo que permite su uso con Docker y Kubernetes.
  • Se ha propuesto un nuevo hipervisor dragonball, basado en KVM y rust-vmm.
  • Se ha añadido soporte para el paso de acceso a GPU, utilizando VFIO.
  • Se ha añadido soporte para cgroup v2.
  • Se ha implementado soporte para sustituir configuraciones sin modificar el archivo principal de configuración mediante el reemplazo de bloques en archivos separados, colocados en el directorio 'config.d/'.
  • En los componentes escritos en Rust se ha involucrado una nueva biblioteca para trabajar de manera segura con rutas de archivos.
  • El componente virtiofsd (escrito en C) ha sido reemplazado por virtiofsd-rs (escrito en Rust).
  • Se ha añadido soporte para el aislamiento sandbox de componentes QEMU.
  • En QEMU se ha utilizado la API io_uring para la entrada/salida asíncrona.
  • Para QEMU y Cloud-hypervisor se ha implementado soporte para las extensiones Intel TDX (Trusted Domain Extensions).
  • Se han actualizado los componentes: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, núcleo Linux 5.19.2.

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