Lanzamento de Kata Containers 3.0 con illamento baseado na virtualización

Despois de dous anos de desenvolvemento, publicouse o lanzamento do proxecto Kata Containers 3.0, que desenvolve unha pila para organizar a execución de contedores mediante o illamento baseado en mecanismos de virtualización completos. O proxecto foi creado por Intel e Hyper combinando Clear Containers e tecnoloxías runV. O código do proxecto está escrito en Go e Rust e distribúese baixo a licenza Apache 2.0. O desenvolvemento do proxecto está supervisado por un grupo de traballo creado baixo os auspicios da organización independente OpenStack Foundation, que inclúe empresas como Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE e ZTE. .

No corazón de Kata está o tempo de execución, que ofrece a posibilidade de crear máquinas virtuais compactas que se executan mediante un hipervisor completo, en lugar de utilizar contedores tradicionais que usan un núcleo común de Linux e están illados mediante espazos de nomes e cgroups. O uso de máquinas virtuais permite acadar un maior nivel de seguridade que protexe contra ataques provocados pola explotación de vulnerabilidades no núcleo de Linux.

Kata Containers céntrase na integración nas infraestruturas de illamento de contedores existentes coa posibilidade de usar máquinas virtuais similares para mellorar a protección dos contedores tradicionais. O proxecto proporciona mecanismos para garantir a compatibilidade de máquinas virtuais lixeiras con varias infraestruturas de illamento de contedores, plataformas de orquestración de contedores e especificacións como OCI (Open Container Initiative), CRI (Container Runtime Interface) e CNI (Container Networking Interface). Hai ferramentas dispoñibles para a integración con Docker, Kubernetes, QEMU e OpenStack.

Lanzamento de Kata Containers 3.0 con illamento baseado na virtualización

A integración cos sistemas de xestión de contedores conséguese mediante unha capa que simula a xestión de contedores, que accede ao axente xestor na máquina virtual mediante a interface gRPC e un proxy especial. Dentro do contorno virtual, que é lanzado polo hipervisor, úsase un núcleo Linux especialmente optimizado, que contén só o conxunto mínimo de capacidades necesarias.

Como hipervisor, admite o uso de Dragonball Sandbox (unha edición de KVM optimizada para contedores) co kit de ferramentas QEMU, así como Firecracker e Cloud Hypervisor. O entorno do sistema inclúe un daemon de inicialización e un axente. O axente ofrece a execución de imaxes de contedores definidas polo usuario en formato OCI para Docker e CRI para Kubernetes. Cando se usa xunto con Docker, créase unha máquina virtual separada para cada contedor, é dicir. O ambiente que se executa na parte superior do hipervisor úsase para o lanzamento anidado de contedores.

Lanzamento de Kata Containers 3.0 con illamento baseado na virtualización

Para reducir o consumo de memoria, utilízase o mecanismo DAX (acceso directo ao sistema de ficheiros, evitando a caché da páxina sen utilizar o nivel do dispositivo de bloqueo) e para deduplicar áreas de memoria idénticas utilízase a tecnoloxía KSM (Kernel Samepage Merging), que che permite para organizar o uso compartido de recursos do sistema anfitrión e conectarse a diferentes sistemas invitados comparten un modelo de ambiente de sistema común.

Na nova versión:

  • Proponse un tempo de execución alternativo (runtime-rs), que constitúe o recheo de contedores, escrito na linguaxe Rust (o tempo de execución proporcionado anteriormente foi escrito na linguaxe Go). Runtime é compatible con OCI, CRI-O e Containerd, polo que se pode usar con Docker e Kubernetes.
  • Propúxose un novo hipervisor Dragonball baseado en KVM e rust-vmm.
  • Engadiuse compatibilidade para reenviar o acceso á GPU mediante VFIO.
  • Engadido soporte para cgroup v2.
  • Implementouse o soporte para cambiar a configuración sen cambiar o ficheiro de configuración principal substituíndo bloques en ficheiros separados situados no directorio "config.d/".
  • Os compoñentes de Rust inclúen unha nova biblioteca para traballar de forma segura con rutas de ficheiros.
  • O compoñente virtiofsd (escrito en C) foi substituído por virtiofsd-rs (escrito en Rust).
  • Engadido soporte para os compoñentes QEMU de sandboxing.
  • QEMU usa a API io_uring para E/S asíncrona.
  • Implementouse o soporte para as extensións de Intel TDX (Trusted Domain Extensions) para QEMU e Cloud-hypervisor.
  • Compoñentes actualizados: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, kernel Linux 5.19.2.

Fonte: opennet.ru

Engadir un comentario