Lansarea Kata Containers 3.0 cu izolare bazată pe virtualizare

După doi ani de dezvoltare, a fost publicată lansarea proiectului Kata Containers 3.0, dezvoltând o stivă pentru organizarea execuției containerelor folosind izolarea bazată pe mecanisme de virtualizare cu drepturi depline. Proiectul a fost creat de Intel și Hyper prin combinarea Clear Containers și tehnologiile runV. Codul proiectului este scris în Go și Rust și este distribuit sub licența Apache 2.0. Dezvoltarea proiectului este supravegheată de un grup de lucru creat sub auspiciile organizației independente OpenStack Foundation, care include companii precum Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE și ZTE. .

În centrul Kata este runtime, care oferă posibilitatea de a crea mașini virtuale compacte care rulează folosind un hypervisor complet, în loc să utilizeze containere tradiționale care folosesc un nucleu Linux comun și sunt izolate folosind spații de nume și cgroups. Utilizarea mașinilor virtuale vă permite să atingeți un nivel mai ridicat de securitate care vă protejează împotriva atacurilor cauzate de exploatarea vulnerabilităților din nucleul Linux.

Kata Containers se concentrează pe integrarea în infrastructurile existente de izolare a containerelor, cu capacitatea de a utiliza mașini virtuale similare pentru a îmbunătăți protecția containerelor tradiționale. Proiectul oferă mecanisme pentru a asigura compatibilitatea mașinilor virtuale ușoare cu diverse infrastructuri de izolare a containerelor, platforme de orchestrare a containerelor și specificații, cum ar fi OCI (Open Container Initiative), CRI (Container Runtime Interface) și CNI (Container Networking Interface). Instrumentele sunt disponibile pentru integrarea cu Docker, Kubernetes, QEMU și OpenStack.

Lansarea Kata Containers 3.0 cu izolare bazată pe virtualizare

Integrarea cu sistemele de management al containerelor se realizează folosind un strat care simulează managementul containerului, care accesează agentul de gestionare din mașina virtuală prin interfața gRPC și un proxy special. În interiorul mediului virtual, care este lansat de hypervisor, este utilizat un nucleu Linux special optimizat, care conține doar setul minim de capabilități necesare.

Ca hypervisor, acceptă utilizarea Dragonball Sandbox (o ediție KVM optimizată pentru containere) cu setul de instrumente QEMU, precum și Firecracker și Cloud Hypervisor. Mediul de sistem include un daemon de inițializare și un agent. Agentul oferă execuția imaginilor container definite de utilizator în format OCI pentru Docker și CRI pentru Kubernetes. Când este utilizat împreună cu Docker, este creată o mașină virtuală separată pentru fiecare container, de ex. Mediul care rulează deasupra hipervizorului este utilizat pentru lansarea imbricată a containerelor.

Lansarea Kata Containers 3.0 cu izolare bazată pe virtualizare

Pentru a reduce consumul de memorie, se folosește mecanismul DAX (acces direct la sistemul de fișiere, ocolirea cache-ului paginii fără a utiliza nivelul dispozitivului bloc), iar pentru a deduplica zone de memorie identice, se folosește tehnologia KSM (Kernel Samepage Merging), care vă permite pentru a organiza partajarea resurselor sistemului gazdă și pentru a vă conecta la diferite sisteme invitate partajați un șablon comun de mediu de sistem.

În noua versiune:

  • Se propune un runtime alternativ (runtime-rs), care formează umplerea containerelor, scris în limbajul Rust (runtime-ul furnizat anterior a fost scris în limbajul Go). Runtime este compatibil cu OCI, CRI-O și Containerd, permițându-i să fie utilizat cu Docker și Kubernetes.
  • A fost propus un nou hypervisor Dragonball bazat pe KVM și rust-vmm.
  • S-a adăugat suport pentru redirecționarea accesului la GPU folosind VFIO.
  • S-a adăugat suport pentru cgroup v2.
  • Suportul pentru modificarea setărilor fără modificarea fișierului principal de configurare a fost implementat prin înlocuirea blocurilor în fișiere separate situate în directorul „config.d/”.
  • Componentele Rust includ o nouă bibliotecă pentru lucrul în siguranță cu căile fișierelor.
  • Componenta virtiofsd (scrisă în C) a fost înlocuită cu virtiofsd-rs (scrisă în Rust).
  • S-a adăugat suport pentru componentele QEMU de tip sandbox.
  • QEMU utilizează API-ul io_uring pentru I/O asincron.
  • Suportul pentru extensiile Intel TDX (Trusted Domain Extensions) a fost implementat pentru QEMU și Cloud-hypervisor.
  • Componente actualizate: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux kernel 5.19.2.

Sursa: opennet.ru

Adauga un comentariu