Objavljeno je izdanje projekta Kata Containers 3.2 koji razvija stog za organiziranje izvođenja spremnika pomoću izolacije temeljene na potpunim mehanizmima virtualizacije. Projekt su izradili Intel i Hyper kombinirajući Clear Containers i runV tehnologije. Kôd projekta je napisan u Go i Rustu, a distribuira se pod licencom Apache 2.0. Razvoj projekta nadzire radna skupina stvorena pod okriljem neovisne organizacije OpenStack Foundation, koja uključuje tvrtke poput Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE i ZTE .
Kata se temelji na vremenu izvođenja, što vam omogućuje stvaranje kompaktnih virtualnih strojeva koji rade pomoću potpunog hipervizora, umjesto upotrebe tradicionalnih spremnika koji koriste zajednički Linux kernel i izolirani su pomoću prostora imena i cgrupa. Korištenje virtualnih strojeva omogućuje postizanje više razine sigurnosti koja štiti od napada uzrokovanih iskorištavanjem ranjivosti u Linux kernelu.
Kata Containers usmjerena je na integraciju u postojeće infrastrukture za izolaciju kontejnera s mogućnošću korištenja sličnih virtualnih strojeva za poboljšanje zaštite tradicionalnih kontejnera. Projekt pruža mehanizme za osiguravanje kompatibilnosti laganih virtualnih strojeva s različitim infrastrukturama za izolaciju spremnika, platformama za orkestraciju spremnika i specifikacijama kao što su OCI (Open Container Initiative), CRI (Container Runtime Interface) i CNI (Container Networking Interface). Dostupni su alati za integraciju s Dockerom, Kubernetesom, QEMU i OpenStackom.
Integracija sa sustavima za upravljanje kontejnerima ostvaruje se pomoću sloja koji simulira upravljanje kontejnerima, koji pristupa agentu za upravljanje u virtualnom stroju preko gRPC sučelja i posebnog proxyja. Unutar virtualnog okruženja, koje pokreće hipervizor, koristi se posebno optimizirana jezgra Linuxa koja sadrži samo minimalni skup potrebnih mogućnosti.
Kao hipervizor, podržava korištenje Dragonball Sandboxa (izdanje KVM-a optimizirano za kontejnere) s QEMU alatom, kao i Firecracker i Cloud Hypervisor. Okruženje sustava uključuje inicijalizacijski demon i agent. Agent omogućuje izvođenje korisnički definiranih slika spremnika u OCI formatu za Docker i CRI za Kubernetes. Kada se koristi u kombinaciji s Dockerom, za svaki spremnik stvara se zasebno virtualno računalo, tj. Okolina koja se izvodi na vrhu hipervizora koristi se za ugniježđeno pokretanje spremnika.
Za smanjenje potrošnje memorije koristi se DAX mehanizam (izravan pristup datotečnom sustavu, zaobilaženje predmemorije stranice bez korištenja razine blok uređaja), a za dedupliciranje identičnih memorijskih područja koristi se KSM (Kernel Samepage Merging) tehnologija koja omogućuje za organiziranje dijeljenja resursa glavnog sustava i povezivanje s različitim gostujućim sustavima dijele zajednički predložak okruženja sustava.
U novoj verziji:
- Uz podršku za AMD64 (x86_64) arhitekturu, izdanja su dostupna za ARM64 (Aarch64) i s390 (IBM Z) arhitekture. Podrška za ppc64le arhitekturu (IBM Power) je u razvoju.
- Za organizaciju pristupa slikama spremnika koristi se datotečni sustav Nydus 2.2.0 koji koristi adresiranje sadržaja za učinkovitu suradnju sa standardnim slikama. Nydus podržava učitavanje slika u hodu (preuzima samo kada je to potrebno), omogućuje uklanjanje duplikata podataka i može koristiti različite pozadine za stvarnu pohranu. Omogućena je kompatibilnost s POSIX-om (slično Composefsu, Nydus implementacija kombinira mogućnosti OverlayFS-a s EROFS ili FUSE modulom).
- Upravitelj virtualnog stroja Dragonball integriran je u glavnu strukturu projekta Kata Containers, koji će se sada razvijati u zajedničkom repozitoriju.
- Dodana je funkcija otklanjanja pogrešaka uslužnom programu kata-ctl za povezivanje s virtualnim strojem iz glavnog okruženja.
- Proširene su mogućnosti upravljanja GPU-om i dodana je podrška za prosljeđivanje GPU-a u spremnike za povjerljivo računalstvo (Confidential Container), koji osigurava enkripciju podataka, memorije i stanja izvršenja za zaštitu u slučaju kompromitacije glavnog okruženja ili hipervizora.
- Podsustav za upravljanje uređajima koji se koriste u spremnicima ili sandbox okruženjima dodan je u Runtime-rs. Podržava rad s vfio, blok, mrežnim i drugim vrstama uređaja.
- Omogućena je kompatibilnost s OCI Runtime 1.0.2 i Kubernetes 1.23.1.
- Preporuča se koristiti izdanje 6.1.38 sa zakrpama kao Linux kernel.
- Razvoj je prebačen s korištenja sustava kontinuirane integracije Jenkins na GitHub Actions.
Izvor: opennet.ru