Kata konteineru 3.2 izlaišana ar uz virtualizāciju balstītu izolāciju

Ir publicēts Kata Containers 3.2 projekta izlaidums, kas izstrādā steku konteineru izpildes organizēšanai, izmantojot izolāciju, pamatojoties uz pilnvērtīgiem virtualizācijas mehānismiem. Projektu izveidoja Intel un Hyper, apvienojot Clear Containers un runV tehnoloģijas. Projekta kods ir rakstīts Go and Rust un tiek izplatīts saskaņā ar Apache 2.0 licenci. Projekta izstrādi pārrauga neatkarīgās organizācijas OpenStack Foundation paspārnē izveidota darba grupa, kurā ietilpst tādi uzņēmumi kā Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE un ZTE. .

Kata ir balstīta uz izpildlaiku, kas ļauj izveidot kompaktas virtuālās mašīnas, kas darbojas, izmantojot pilnu hipervizoru, nevis tradicionālos konteinerus, kas izmanto kopīgu Linux kodolu un ir izolēti, izmantojot nosaukumvietas un cgrupas. Virtuālo mašīnu izmantošana ļauj sasniegt augstāku drošības līmeni, kas aizsargā pret uzbrukumiem, ko izraisa Linux kodola ievainojamību izmantošana.

Kata Containers ir vērsta uz integrāciju esošajās konteineru izolācijas infrastruktūrās ar iespēju izmantot šādas virtuālās mašīnas, lai uzlabotu tradicionālo konteineru aizsardzību. Projekts nodrošina mehānismus, lai padarītu vieglas virtuālās mašīnas saderīgas ar dažādiem konteineru izolācijas ietvariem, konteineru orķestrēšanas platformām un tādām specifikācijām kā OCI (Open Container Initiative), CRI (konteinera izpildlaika saskarne) un CNI (konteineru tīkla saskarne). Ir pieejamas integrācijas ar Docker, Kubernetes, QEMU un OpenStack.

Integrācija ar konteineru pārvaldības sistēmām tiek panākta, izmantojot slāni, kas simulē konteineru pārvaldību, kas, izmantojot gRPC saskarni un īpašu starpniekserveri, piekļūst vadības aģentam virtuālajā mašīnā. Virtuālajā vidē, kuru palaiž hipervizors, tiek izmantots īpaši optimizēts Linux kodols, kas satur tikai minimālo nepieciešamo funkciju komplektu.

Kā hipervizors tiek atbalstīts Dragonball Sandbox (KVM izdevums, kas optimizēts konteineriem) ar QEMU rīku komplektu, kā arī Firecracker un Cloud Hypervisor. Sistēmas vide ietver inicializācijas dēmonu un aģentu. Aģents palaiž lietotāja definētus konteinera attēlus OCI formātā Docker un CRI Kubernetes. Lietojot kopā ar Docker, katram konteineram tiek izveidota atsevišķa virtuālā mašīna, t.i. hipervizora palaitā vide tiek izmantota konteineru ligzdai.

Kata konteineru 3.2 izlaišana ar uz virtualizāciju balstītu izolāciju

Lai samazinātu atmiņas patēriņu, tiek izmantots DAX mehānisms (tieša piekļuve FS, apejot lapas kešatmiņu, neizmantojot blokierīces līmeni), un KSM (Kernel Samepage Merging) tehnoloģija tiek izmantota identisku atmiņas apgabalu dublēšanai, kas ļauj koplietot resursdatora sistēmas resursus. un savienojot ar dažādām viesu sistēmām kopēju sistēmas vides veidni.

Jaunajā versijā:

  • Papildus atbalstam AMD64 (x86_64) arhitektūrai tiek nodrošināti laidieni ARM64 (Aarch64) un s390 (IBM Z) arhitektūrām. Tiek izstrādāts atbalsts ppc64le arhitektūrai (IBM Power).
  • Lai organizētu piekļuvi konteinera attēliem, tiek izmantota Nydus 2.2.0 failu sistēma, kas izmanto satura adresēšanu efektīvai sadarbībai ar standarta attēliem. Nydus atbalsta tūlītēju attēlu ielādi (lejupielādes tikai nepieciešamības gadījumā), nodrošina dublēto datu dublēšanas atcelšanu un var izmantot dažādas aizmugursistēmas faktiskajai glabāšanai. Tiek nodrošināta POSIX saderība (līdzīgi kā Composefs, Nydus implementācija apvieno OverlayFS iespējas ar EROFS vai FUSE moduli).
  • Dragonball virtuālās mašīnas pārvaldnieks ir integrēts Kata Containers projekta galvenajā struktūrā, kas tagad tiks izstrādāts kopējā repozitorijā.
  • Kata-ctl utilītai ir pievienota atkļūdošanas funkcija savienojuma izveidei ar virtuālo mašīnu no resursdatora vides.
  • GPU pārvaldības iespējas ir paplašinātas un ir pievienots atbalsts GPU pārsūtīšanai uz konteineriem konfidenciālai skaitļošanai (Confidential Container), kas nodrošina datu, atmiņas un izpildes stāvokļa šifrēšanu aizsardzībai resursdatora vides vai hipervizora kompromitēšanas gadījumā.
  • Runtime-rs ir pievienota apakšsistēma konteineros vai smilškastes vidē izmantoto ierīču pārvaldībai. Atbalsta darbu ar vfio, bloku, tīklu un cita veida ierīcēm.
  • Tiek nodrošināta saderība ar OCI Runtime 1.0.2 un Kubernetes 1.23.1.
  • Ieteicams izmantot versiju 6.1.38 ar ielāpiem kā Linux kodolu.
  • Izstrāde ir pārcelta no Jenkins nepārtrauktās integrācijas sistēmas izmantošanas uz GitHub Actions.

Avots: opennet.ru

Pievieno komentāru