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

Është publikuar publikimi i projektit Kata Containers 3.2, 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. .

Kata bazohet në kohën e funksionimit, e cila ju lejon të krijoni makina virtuale kompakte që funksionojnë duke përdorur një hipervizor të plotë, në vend që të përdorni kontejnerë 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.

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.2 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:

  • Përveç mbështetjes për arkitekturën AMD64 (x86_64), lëshimet ofrohen për arkitekturat ARM64 (Aarch64) dhe s390 (IBM Z). Mbështetja për arkitekturën ppc64le (IBM Power) është në zhvillim e sipër.
  • Për të organizuar aksesin në imazhet e kontejnerëve, përdoret sistemi i skedarëve Nydus 2.2.0, i cili përdor adresimin e përmbajtjes për bashkëpunim efikas me imazhet standarde. Nydus mbështet ngarkimin në lëvizje të imazheve (shkarkohet vetëm kur është e nevojshme), siguron heqjen e të dhënave të kopjuara dhe mund të përdorë backend të ndryshëm për ruajtjen aktuale. Ofrohet pajtueshmëria POSIX (e ngjashme me Composefs, zbatimi Nydus kombinon aftësitë e OverlayFS me modulin EROFS ose FUSE).
  • Menaxheri i makinës virtuale Dragonball është integruar në strukturën kryesore të projektit Kata Containers, i cili tani do të zhvillohet në një depo të përbashkët.
  • Një funksion korrigjimi është shtuar në programin kata-ctl për t'u lidhur me një makinë virtuale nga mjedisi pritës.
  • Aftësitë e menaxhimit të GPU-së janë zgjeruar dhe është shtuar mbështetja për përcjelljen e GPU-ve në kontejnerë për llogaritje konfidenciale (Confidential Container), i cili siguron enkriptim të të dhënave, memories dhe gjendjes së ekzekutimit për mbrojtje në rast të një kompromisi të mjedisit pritës ose hipervizorit.
  • Një nënsistem për menaxhimin e pajisjeve të përdorura në kontejnerë ose mjedise sandbox është shtuar në Runtime-rs. Mbështet punën me vfio, bllok, rrjet dhe lloje të tjera të pajisjeve.
  • Ofrohet përputhshmëri me OCI Runtime 1.0.2 dhe Kubernetes 1.23.1.
  • Rekomandohet të përdorni versionin 6.1.38 me arna si kernel Linux.
  • Zhvillimi është transferuar nga përdorimi i sistemit të integrimit të vazhdueshëm Jenkins në GitHub Actions.

Burimi: opennet.ru

Shto një koment