Después de dos años de desarrollo, il a publié le lancement du projet Kata Containers 3.0, que desarrolla una pila para organisar la ejecución de contenedores utilizando aislamiento basado en mecanismos de virtualización completos.
Dans le cœur de Kata est le runtime, que brinda la capacité de créer des machines virtuelles compactes que se ejecutan usando un hypervisor completo, en lugar de usar contenedores tradicionales que usan un kernel Linux común y se aíslan usando espacios de nombres y cgroups.
L’utilisation de machines virtuelles permet d’alcanzar un niveau de sécurité supérieur à la protection contre les attaques provoquées par l’exploitation de vulnérabilités dans le noyau de Linux.
Conteneurs Kata sobres
Conteneurs Kata se centra en integrarse en las infraestructuras de aislamiento de contenedores existentes con la capacidad de utilizar dichas máquinas virtuales para mejorar la protección de los contenedores tradicionales.
Le projet proporciona mecanismos para hacer que las máquinas virtuales livianas sean compatibles con varios marcos de aislamiento de contenedores, plataformas de orquestación de contenedores y especificaciones como OCI, CRI y CNI. Les intégrations avec Docker, Kubernetes, QEMU et OpenStack sont disponibles.
L’intégration con los sistemas de gestión de contenedores se logra mediante una capa que simula la gestión de contenedoresla cual, a través de la interfaz gRPC y un proxy especial, accede al agente de control in la máquina virtual. Comme hyperviseur, il admet l’utilisation de Dragonball Sandbox (une édition KVM optimisée pour les contenus) avec QEMU, ainsi que Firecracker et Cloud Hypervisor. El entorno del sistema incluye el demonio de inicialización y el agente.
L’agent ejecuta imágenes de contenedores definidas por el usuario in formato OCI pour Docker et CRI pour Kubernetes. Pour réduire la consommation de mémoire, se usa el mecanismo DAX y se usa la tecnología KSM para deduplicar áreas de memoria idénticas, lo que permite compartir los recursos del sistema host y conectarse a diferentes sistemas invitados con una plantilla de entorno de sistema común.
Principales nouveautés de Kata Containers 3.0
En la nouvelle version se propose un runtime alternatif (runtime-rs), que forma el relleno de contenedores, escrito en el lenguaje Rust (el tiempo de ejecución proporcionado anteriormente está escrito en el lenguaje Go). Durée est compatible avec OCI, CRI-O y Containerd, ce qui est compatible avec Docker et Kubernetes.
Otro de los cambios que se destaca de esta new, version de Kata Containers 3.0, es que ahora aussi tiene soporte para GPU. Esto incluye soporte para E/S de función virtual (VFIO)que permite controladores de espacio de usuario y dispositivos PCIe seguros y sin privilegios.
Tambien se destaca que se implementó soporte para cambiar la configuration sin cambiar el archivo de configuration principal al reemplazar bloques en archivos separados ubicados in el directorio « config.d/ ». Los componentes de Rust usan una nueva biblioteca para trabajar con rutas de archivos de forma segura.
Además, a surgi un nouveau projet de Kata Containers. Trata de Confidential Containers, un projet d’espace aislado de Cloud-Native Computing Foundation (CNCF) de code ouvert. Est une consécuencia del aislamiento de contenedores de Kata Containers, integra l’infraestructura de Trusted Execution Environments (TEE) .
De los demás cambios que se destacan :
- Il est propuesto un nouveau hipervisor de dragonball basado en KVM et rust-vmm .
- S’ajoute à la prise en charge de cgroup v2.
- Componente virtiofsd (écrit en C) remplacé par virtiofsd-rs (écrit en Rust).
- Soporte agregó para el aislamiento de la zona de pruebas de los componentes QEMU.
- QEMU utilise l’API io_uring pour E/S asíncrona.
- Il a implémenté la compatibilité avec les extensions Intel TDX (Trusted Domain Extensions) pour QEMU et Cloud-hypervisor.
- Composants mis à jour : QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux 5.19.2.
Enfin para los que estén interesados en el proyectodeben saber que fue créé par Intel et Hyper combinando Clear Containers et tecnologías runV.
Le code du projet est rédigé en Go et Rust et se distribue sous la licence Apache 2.0. Le projet est supervisé par un groupe de travail créé sous les auspices de l’organisation indépendante OpenStack Foundation.
Puedes consultar más al respecto, en el siguiente enlace.