Kata Containers 3.0 väljalase koos virtualiseerimisel põhineva isolatsiooniga

Pärast kaheaastast arendustööd on avaldatud Kata Containers 3.0 projekti väljalase, mis arendab täisväärtuslikel virtualiseerimismehhanismidel põhinevat pinu konteinerite täitmise korraldamiseks isolatsiooni abil. Projekti lõid Intel ja Hyper, kombineerides Clear Containers ja runV tehnoloogiaid. Projekti kood on kirjutatud Go and Rust'is ning seda levitatakse Apache 2.0 litsentsi all. Projekti arendamist juhendab sõltumatu organisatsiooni OpenStack Foundation egiidi all loodud töörühm, kuhu kuuluvad sellised ettevõtted nagu Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE ja ZTE .

Kata keskmes on käitusaeg, mis annab võimaluse luua kompaktseid virtuaalmasinaid, mis töötavad täishüperviisoriga, selle asemel, et kasutada tavalisi konteinereid, mis kasutavad tavalist Linuxi tuuma ja on isoleeritud nimeruumide ja c-rühmade abil. Virtuaalsete masinate kasutamine võimaldab saavutada kõrgemat turbetaset, mis kaitseb rünnakute eest, mis on põhjustatud Linuxi kerneli haavatavuste ärakasutamisest.

Kata Containers on keskendunud integreerimisele olemasolevatesse konteinerite eraldamise infrastruktuuridesse, mis võimaldab traditsiooniliste konteinerite kaitse parandamiseks kasutada sarnaseid virtuaalmasinaid. Projekt pakub mehhanisme, mis tagavad kergete virtuaalmasinate ühilduvuse erinevate konteinerite isoleerimise infrastruktuuride, konteinerite orkestreerimisplatvormide ja spetsifikatsioonidega, nagu OCI (Open Container Initiative), CRI (Container Runtime Interface) ja CNI (Container Networking Interface). Tööriistad on saadaval integreerimiseks Dockeri, Kubernetese, QEMU ja OpenStackiga.

Kata Containers 3.0 väljalase koos virtualiseerimisel põhineva isolatsiooniga

Integreerimine konteinerihaldussüsteemidega saavutatakse konteinerihaldust simuleeriva kihi abil, mis pääseb virtuaalmasinas olevale haldusagendile ligi gRPC liidese ja spetsiaalse puhverserveri kaudu. Virtuaalses keskkonnas, mille käivitab hüperviisor, kasutatakse spetsiaalselt optimeeritud Linuxi tuuma, mis sisaldab vaid minimaalset vajalike võimaluste komplekti.

Hüperviisorina toetab see Dragonball Sandboxi (konteinerite jaoks optimeeritud KVM-i väljaanne) QEMU tööriistakomplektiga, aga ka Firecrackeri ja Cloud Hypervisori kasutamist. Süsteemikeskkond sisaldab initsialiseerimisdeemonit ja agenti. Agent pakub kasutaja määratud konteinerkujutisi OCI-vormingus Dockeri jaoks ja CRI-vormingus Kubernetese jaoks. Dockeriga koos kasutades luuakse iga konteineri jaoks eraldi virtuaalmasin, s.t. Hüpervisori peal töötavat keskkonda kasutatakse konteinerite pesastatud käivitamiseks.

Kata Containers 3.0 väljalase koos virtualiseerimisel põhineva isolatsiooniga

Mälukulu vähendamiseks kasutatakse DAX mehhanismi (otsejuurdepääs failisüsteemile, lehe vahemälust möödasõit ilma blokeerimisseadme taset kasutamata) ning identsete mälualade dubleerimiseks KSM (Kernel Samepage Merging) tehnoloogiat, mis võimaldab teil hostisüsteemi ressursside jagamise korraldamiseks ja erinevate külalistesüsteemidega ühenduse loomiseks jagage ühist süsteemikeskkonna malli.

Uues versioonis:

  • Pakutakse välja alternatiivne käitusaeg (runtime-rs), mis moodustab konteinerite täitmise, kirjutatud Rust keeles (varem pakutud käitusaeg oli kirjutatud Go keeles). Runtime ühildub OCI, CRI-O ja Containerdiga, võimaldades seda kasutada Dockeri ja Kubernetesiga.
  • Välja on pakutud uus KVM-il ja rust-vmm-il põhinev Dragonballi hüperviisor.
  • Lisatud tugi GPU-le juurdepääsu edastamiseks VFIO abil.
  • Lisatud tugi cgroup v2-le.
  • Seadete muutmise tugi põhikonfiguratsioonifaili muutmata on rakendatud, asendades plokid eraldi failides, mis asuvad kataloogis “config.d/”.
  • Roostekomponendid sisaldavad uut teeki failiteedega turvaliseks töötamiseks.
  • virtiofsd komponent (kirjutatud C-s) on asendatud virtiofsd-rs-ga (kirjutatud Rust-keeles).
  • Lisatud tugi liivakasti QEMU komponentidele.
  • QEMU kasutab asünkroonse I/O jaoks io_uring API-t.
  • Intel TDX (usaldusväärse domeenilaienduse) laienduste tugi on juurutatud QEMU ja Cloud-hypervisori jaoks.
  • Värskendatud komponendid: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linuxi kernel 5.19.2.

Allikas: opennet.ru

Lisa kommentaar