Llançament de Kata Containers 3.0 amb aïllament basat en virtualització

Després de dos anys de desenvolupament, s'ha publicat el llançament del projecte Kata Containers 3.0, desenvolupant una pila per organitzar l'execució de contenidors mitjançant l'aïllament basat en mecanismes de virtualització complets. El projecte va ser creat per Intel i Hyper combinant Clear Containers i tecnologies runV. El codi del projecte està escrit en Go i Rust i es distribueix sota la llicència Apache 2.0. El desenvolupament del projecte està supervisat per un grup de treball creat sota els auspicis de l'organització independent OpenStack Foundation, que inclou empreses com Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE i ZTE. .

El nucli de Kata és el temps d'execució, que ofereix la possibilitat de crear màquines virtuals compactes que s'executen amb un hipervisor complet, en lloc d'utilitzar contenidors tradicionals que utilitzen un nucli comú de Linux i que s'aïllen mitjançant espais de noms i grups c. L'ús de màquines virtuals permet aconseguir un major nivell de seguretat que protegeix contra els atacs provocats per l'explotació de vulnerabilitats al nucli Linux.

Kata Containers se centra en la integració a les infraestructures d'aïllament de contenidors existents amb la possibilitat d'utilitzar màquines virtuals similars per millorar la protecció dels contenidors tradicionals. El projecte proporciona mecanismes per garantir la compatibilitat de màquines virtuals lleugeres amb diverses infraestructures d'aïllament de contenidors, plataformes d'orquestració de contenidors i especificacions com ara OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Hi ha eines disponibles per a la integració amb Docker, Kubernetes, QEMU i OpenStack.

Llançament de Kata Containers 3.0 amb aïllament basat en virtualització

La integració amb els sistemes de gestió de contenidors s'aconsegueix mitjançant una capa que simula la gestió de contenidors, que accedeix a l'agent de gestió de la màquina virtual mitjançant la interfície gRPC i un proxy especial. Dins de l'entorn virtual, que és llançat per l'hipervisor, s'utilitza un nucli Linux especialment optimitzat, que conté només el conjunt mínim de capacitats necessàries.

Com a hipervisor, admet l'ús de Dragonball Sandbox (una edició de KVM optimitzada per a contenidors) amb el conjunt d'eines QEMU, així com Firecracker i Cloud Hypervisor. L'entorn del sistema inclou un dimoni d'inicialització i un agent. L'agent proporciona l'execució d'imatges de contenidors definides per l'usuari en format OCI per a Docker i CRI per a Kubernetes. Quan s'utilitza conjuntament amb Docker, es crea una màquina virtual independent per a cada contenidor, és a dir. L'entorn que s'executa a la part superior de l'hipervisor s'utilitza per al llançament imbricat de contenidors.

Llançament de Kata Containers 3.0 amb aïllament basat en virtualització

Per reduir el consum de memòria, s'utilitza el mecanisme DAX (accés directe al sistema de fitxers, obviant la memòria cau de la pàgina sense utilitzar el nivell de dispositiu de bloc) i per desduplicar àrees de memòria idèntiques, s'utilitza la tecnologia KSM (Kernel Samepage Merging), que us permet per organitzar la compartició de recursos del sistema amfitrió i connectar-se a diferents sistemes convidats comparteixen una plantilla d'entorn del sistema comú.

En la nova versió:

  • Es proposa un temps d'execució alternatiu (runtime-rs), que forma l'ompliment de contenidors, escrit en llenguatge Rust (el temps d'execució proporcionat anteriorment s'escriu en llenguatge Go). Runtime és compatible amb OCI, CRI-O i Containerd, la qual cosa permet utilitzar-lo amb Docker i Kubernetes.
  • S'ha proposat un nou hipervisor bola de drac basat en KVM i rust-vmm.
  • S'ha afegit suport per reenviar l'accés a la GPU mitjançant VFIO.
  • S'ha afegit suport per a cgroup v2.
  • S'ha implementat el suport per canviar la configuració sense canviar el fitxer de configuració principal substituint blocs en fitxers separats situats al directori "config.d/".
  • Els components Rust inclouen una nova biblioteca per treballar de manera segura amb les rutes de fitxers.
  • El component virtiofsd (escrit en C) s'ha substituït per virtiofsd-rs (escrit en Rust).
  • S'ha afegit suport per a components QEMU de sandboxing.
  • QEMU utilitza l'API io_uring per a E/S asíncrona.
  • S'ha implementat el suport per a les extensions Intel TDX (Trusted Domain Extensions) per a QEMU i Cloud-hypervisor.
  • Components actualitzats: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux kernel 5.19.2.

Font: opennet.ru

Afegeix comentari