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

Publicouse o lanzamento do proxecto Kata Containers 3.2, 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. .

Kata baséase no tempo de execución, que permite 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 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.

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.2 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:

  • Ademais do soporte para a arquitectura AMD64 (x86_64), ofrécense versións para as arquitecturas ARM64 (Aarch64) e s390 (IBM Z). O soporte para a arquitectura ppc64le (IBM Power) está en desenvolvemento.
  • Para organizar o acceso ás imaxes do contedor, utilízase o sistema de ficheiros Nydus 2.2.0, que utiliza o enderezo de contido para unha colaboración eficiente con imaxes estándar. Nydus admite a carga instantánea de imaxes (descarga só cando é necesario), ofrece a deduplicación de datos duplicados e pode usar diferentes backends para o almacenamento real. Ofrécese compatibilidade POSIX (semellante a Composefs, a implementación de Nydus combina as capacidades de OverlayFS co módulo EROFS ou FUSE).
  • O xestor de máquinas virtuais de Dragonball integrouse na estrutura principal do proxecto Kata Containers, que agora se desenvolverá nun repositorio común.
  • Engadiuse unha función de depuración á utilidade kata-ctl para conectarse a unha máquina virtual desde o ambiente host.
  • Ampliáronse as capacidades de xestión de GPU e engadiuse soporte para o reenvío de GPU a contedores para a computación confidencial (Contedor confidencial), que proporciona cifrado de datos, memoria e estado de execución para protexerse en caso de comprometer o ambiente anfitrión ou o hipervisor.
  • Engadiuse a Runtime-rs un subsistema para xestionar os dispositivos utilizados en contedores ou entornos sandbox. Admite o traballo con vfio, bloque, rede e outros tipos de dispositivos.
  • Proporciona compatibilidade con OCI Runtime 1.0.2 e Kubernetes 1.23.1.
  • Recoméndase usar a versión 6.1.38 con parches como núcleo de Linux.
  • O desenvolvemento foi transferido desde o uso do sistema de integración continua de Jenkins a GitHub Actions.

Fonte: opennet.ru

Engadir un comentario