Objavljeno je izdanje projekta Kata Containers 3.4, koje razvija okvir za izvršavanje kontejnera s izolacijom temeljenom na punim mehanizmima virtualizacije. Projekt su stvorile tvrtke Intel i Hyper kombiniranjem tehnologija Clear Containers i runV. Kod projekta napisan je na jezicima Go i Rust, i distribuira se pod licencom Apache 2.0. Razvoj projekta nadgleda radna skupina osnovana pod okriljem neovisne organizacije OpenInfra Foundation, u kojoj sudjeluju takve tvrtke kao što su Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE i ZTE.
Osnova Kata je runtime koji omogućava stvaranje kompaktnim virtualnim mašinama, koje se izvršavaju uz pomoć punog hipervizora, umjesto korištenja tradicionalnih kontejnera koji koriste zajedničko Linux jezgro i izoliraju se pomoću prostora imena i cgroups. Primjena virtualnih mašina omogućava postizanje višeg nivoa sigurnosti, koja štiti od napada izazvanih iskorištavanjem ranjivosti u Linux jezgru.
Kata Containers je usmjeren na integraciju u postojeće infrastrukture kontejnerske izolacije s mogućnošću korištenja sličnih virtualnih mašina za jačanje zaštite tradicionalnih kontejnera. Projekt nudi mehanizme za osiguranje kompatibilnosti laganih virtualnih mašina s raznim infrastrukturnim sustavima kontejnerske izolacije, platformama za orkestraciju kontejnera i specifikacijama kao što su OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Dostupni su alati za integraciju s Docker, Kubernetes, QEMU i OpenStack.
Integracija s sustavima za upravljanje kontejnerima ostvaruje se putem sloja koji simulira upravljanje kontejnerom, a koji preko gRPC sučelja i posebnog proxyja obraća se upravljačkom agentu u virtualnoj mašini. Unutar virtualnog okruženja, koje pokreće hipervizor, koristi se posebno optimizirano Linux jezgro, koje sadrži samo minimalni set potrebnih mogućnosti.
Kao hipervizor podržava se korištenje Dragonball Sandbox (KVM izdanje optimizirano za kontejnere) s QEMU alatima, kao i Firecracker i Cloud Hypervisor. Operativno okruženje uključuje demona za inicijalizaciju i agenta. Agent osigurava izvršavanje slika kontejnera koje korisnik definira u OCI formatu za Docker i CRI za Kubernetes. Kada se koristi zajedno s Dockerom, za svaki kontejner stvara se zasebna virtualna mašina, tj. pokrenuto okruženje preko hipervizora koristi se za ugniježdeno pokretanje kontejnera.

Kako bi se smanjila potrošnja memorije, koristi se DAX mehanizam (izravan pristup FS-u s izbjegavanjem stranice bez korištenja razine blok uređaja), a za deduplikaciju identičnih područja memorije primjenjuje se KSM tehnologija (Kernel Samepage Merging), što omogućava zajedničko korištenje resursa sustava domaćina i povezivanje zajedničkog predloška operativnog okruženja različitim gostujućim sustavima.
Za organizaciju pristupa slikama kontejnera korištena je datotečni sustav Nydus, koji koristi adresiranje prema sadržaju za učinkovitu suradnju s tipičnim slikama. Nydus podržava učitavanje slika u hodu (učitava samo po potrebi), osigurava deduplikaciju ponovljenih podataka i može koristiti različite backendove za stvarno pohranjivanje. Pruža kompatibilnost s POSIX-om (nalik na Composefs, Nydusova implementacija kombinira mogućnosti OverlayFS s EROFS-om ili FUSE modulom).
U novoj verziji:
- U upravitelju virtualnih mašina Dragonball dodana je podrška za vruće povezivanje GPU-a i mogućnost korištenja MTRR registara (Memory-Type Range Registers) za organizaciju pristupa fizičkoj memoriji.
- U runtime-rs, implementaciji runtime-a na Rust jeziku, osigurana je potpuna obrada niti, pid-a i tid-a, a također je revidiran qemu drajver koji se koristi na sustavima s arhitekturom s390 (IBM Z).
- Nadograđen je servis za izradu snimaka pomoću Nydus FS-a.
- U servisu za upravljanje slikama kontejnera poboljšana je efikasnost rada s memorijom.
- Zadano je uključeno montiranje hijerarhije cgroups-v2 tijekom pokretanja pomoću systemd.
- Dodana je mogućnost definiranja vremenskog ograničenja za ograničavanje vremena potrebnog za preuzimanje vrlo velikih slika u gostujućim sustavima.
- Dodana podrška za OPA-agent (Open Policy Agent) za arhitekture ppc64le i s390x.
Izvor: opennet.ru
