Lëshimi i Kata Containers 3.0 me izolim të bazuar në virtualizim

Pas dy vitesh zhvillimi, është publikuar publikimi i projektit Kata Containers 3.0, duke zhvilluar një pirg për organizimin e ekzekutimit të kontejnerëve duke përdorur izolimin bazuar në mekanizmat e virtualizimit të plotë. Projekti u krijua nga Intel dhe Hyper duke kombinuar Clear Containers dhe teknologjitë runV. Kodi i projektit është shkruar në Go and Rust dhe shpërndahet nën licencën Apache 2.0. Zhvillimi i projektit mbikëqyret nga një grup pune i krijuar nën kujdesin e organizatës së pavarur OpenStack Foundation, e cila përfshin kompani të tilla si Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE dhe ZTE. .

Në zemër të Kata është koha e ekzekutimit, e cila ofron mundësinë për të krijuar makina virtuale kompakte që funksionojnë duke përdorur një hipervizor të plotë, në vend të përdorimit të kontejnerëve tradicionalë që përdorin një kernel të përbashkët Linux dhe janë të izoluar duke përdorur hapësirat e emrave dhe cgroups. Përdorimi i makinave virtuale ju lejon të arrini një nivel më të lartë sigurie që mbron nga sulmet e shkaktuara nga shfrytëzimi i dobësive në kernelin Linux.

Kata Containers është fokusuar në integrimin në infrastrukturat ekzistuese të izolimit të kontejnerëve me aftësinë për të përdorur makina të ngjashme virtuale për të rritur mbrojtjen e kontejnerëve tradicionalë. Projekti ofron mekanizma për të siguruar përputhshmërinë e makinerive virtuale të lehta me infrastruktura të ndryshme të izolimit të kontejnerëve, platforma të orkestrimit të kontejnerëve dhe specifikime të tilla si OCI (Open Container Initiative), CRI (Container Runtime Interface) dhe CNI (Container Networking Interface). Mjetet janë të disponueshme për integrim me Docker, Kubernetes, QEMU dhe OpenStack.

Lëshimi i Kata Containers 3.0 me izolim të bazuar në virtualizim

Integrimi me sistemet e menaxhimit të kontejnerëve arrihet duke përdorur një shtresë që simulon menaxhimin e kontejnerëve, e cila akseson agjentin menaxhues në makinën virtuale përmes ndërfaqes gRPC dhe një përfaqësuesi të veçantë. Brenda mjedisit virtual, i cili lëshohet nga hipervizori, përdoret një kernel Linux i optimizuar posaçërisht, që përmban vetëm grupin minimal të aftësive të nevojshme.

Si hipervizor, ai mbështet përdorimin e Dragonball Sandbox (një botim i KVM i optimizuar për kontejnerë) me paketën e veglave QEMU, si dhe Firecracker dhe Cloud Hypervisor. Mjedisi i sistemit përfshin një demon inicializimi dhe një agjent. Agjenti siguron ekzekutimin e imazheve të kontejnerëve të përcaktuar nga përdoruesi në formatin OCI për Docker dhe CRI për Kubernetes. Kur përdoret në lidhje me Docker, krijohet një makinë virtuale e veçantë për çdo kontejner, d.m.th. Mjedisi që funksionon në krye të hipervizorit përdoret për lëshimin e mbivendosur të kontejnerëve.

Lëshimi i Kata Containers 3.0 me izolim të bazuar në virtualizim

Për të reduktuar konsumin e memories, përdoret mekanizmi DAX (qasja e drejtpërdrejtë në sistemin e skedarëve, duke anashkaluar cache-in e faqeve pa përdorur nivelin e pajisjes së bllokut), dhe për të fshirë zonat identike të memories, përdoret teknologjia KSM (Kernel Samepage Merging), e cila ju lejon për të organizuar ndarjen e burimeve të sistemit pritës dhe për t'u lidhur me sisteme të ndryshme të ftuar ndajnë një shabllon të përbashkët të mjedisit të sistemit.

Në versionin e ri:

  • Propozohet një kohëzgjatje alternative (runtime-rs), e cila formon mbushjen e kontejnerëve, të shkruar në gjuhën Rust (koha e ekzekutimit e dhënë më parë është shkruar në gjuhën Go). Runtime është në përputhje me OCI, CRI-O dhe Containerd, duke e lejuar atë të përdoret me Docker dhe Kubernetes.
  • Është propozuar një hipervizor i ri dragonball i bazuar në KVM dhe rust-vmm.
  • Mbështetje e shtuar për përcjelljen e aksesit në GPU duke përdorur VFIO.
  • Mbështetje e shtuar për cgroup v2.
  • Mbështetja për ndryshimin e cilësimeve pa ndryshuar skedarin kryesor të konfigurimit është zbatuar duke zëvendësuar blloqet në skedarë të veçantë të vendosur në drejtorinë "config.d/".
  • Komponentët Rust përfshijnë një bibliotekë të re për të punuar në mënyrë të sigurt me shtigjet e skedarëve.
  • Komponenti virtiofsd (i shkruar në C) është zëvendësuar me virtiofsd-rs (i shkruar në Rust).
  • Mbështetje e shtuar për përbërësit e sandboxing QEMU.
  • QEMU përdor API-në io_uring për hyrje/dalje asinkrone.
  • Mbështetja për shtesat Intel TDX (Trusted Domain Extensions) është zbatuar për QEMU dhe Cloud-hypervisor.
  • Komponentët e përditësuar: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, kernel Linux 5.19.2.

Burimi: opennet.ru

Shto një koment