Eldono de Kata Ujoj 3.0 kun virtualigo-bazita izolado

Post du jaroj da evoluo, la eldono de la projekto Kata Containers 3.0 estis publikigita, disvolvante stakon por organizi la ekzekuton de ujoj uzante izolitecon bazitan sur plenrajtaj virtualigaj mekanismoj. La projekto estis kreita de Intel kaj Hyper kombinante Clear Containers kaj runV-teknologiojn. La projektkodo estas skribita en Go kaj Rust, kaj estas distribuita sub la licenco Apache 2.0. La disvolviĝo de la projekto estas kontrolata de laborgrupo kreita sub la aŭspicioj de la sendependa organizo OpenStack Foundation, kiu inkluzivas kompaniojn kiel Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE kaj ZTE. .

Ĉe la koro de Kata estas la rultempo, kiu provizas la kapablon krei kompaktajn virtualajn maŝinojn, kiuj funkcias per plena hiperviziero, anstataŭ uzi tradiciajn ujojn, kiuj uzas komunan Linuksan kernon kaj estas izolitaj per nomspacoj kaj cgrupoj. La uzo de virtualaj maŝinoj permesas atingi pli altan nivelon de sekureco, kiu protektas kontraŭ atakoj kaŭzitaj de ekspluatado de vundeblecoj en la Linukso-kerno.

Kata Containers estas koncentrita pri integriĝo en ekzistantaj kontenaj izolaj infrastrukturoj kun la kapablo uzi similajn virtualajn maŝinojn por plibonigi la protekton de tradiciaj ujoj. La projekto provizas mekanismojn por certigi kongruecon de malpezaj virtualaj maŝinoj kun diversaj kontenaj izolaj infrastrukturoj, ujo-instrumentadplatformoj kaj specifoj kiel ekzemple OCI (Open Container Initiative), CRI (Container Runtime Interface) kaj CNI (Container Networking Interface). Iloj disponeblas por integriĝo kun Docker, Kubernetes, QEMU kaj OpenStack.

Eldono de Kata Ujoj 3.0 kun virtualigo-bazita izolado

Integriĝo kun ujadministradsistemoj estas atingita uzante tavolon kiu simulas ujadministradon, kiu aliras la administran agenton en la virtuala maŝino per la gRPC-interfaco kaj speciala prokurilo. Ene de la virtuala medio, kiu estas lanĉita de la hiperviziero, estas uzata speciale optimumigita Linukso-kerno, kiu enhavas nur la minimuman aron de necesaj kapabloj.

Kiel hiperviziero, ĝi subtenas la uzon de Dragonball Sandbox (eldono de KVM optimumigita por ujoj) kun la ilaro QEMU, same kiel Firecracker kaj Cloud Hypervisor. La sistema medio inkluzivas komencan demonon kaj agenton. La agento disponigas ekzekuton de uzant-difinitaj ujbildoj en OCI-formato por Docker kaj CRI por Kubernetes. Kiam uzata kune kun Docker, aparta virtuala maŝino estas kreita por ĉiu ujo, t.e. La medio kuranta supre de la hiperviziero estas uzata por nestita lanĉo de ujoj.

Eldono de Kata Ujoj 3.0 kun virtualigo-bazita izolado

Por redukti la konsumon de memoro, oni uzas la mekanismon DAX (rekta aliro al la dosiersistemo, preterpasante la paĝan kaŝmemoron sen uzi la blokan aparaton nivelon), kaj por maldupliki identajn memorareojn, estas uzata teknologio KSM (Kernel Samepage Merging), kiu permesas vin. organizi la kundividon de gastigaj sistemresursoj kaj konekti al malsamaj gastsistemoj kundividas oftan sisteman medio-ŝablonon.

En la nova versio:

  • Alternativa rultempo (runtime-rs) estas proponita, kiu formas la plenigon de ujoj, skribitaj en la Rust-lingvo (la antaŭe provizita rultempo estis skribita en la Go-lingvo). Rultempo estas kongrua kun OCI, CRI-O kaj Containerd, permesante ĝin esti uzata kun Docker kaj Kubernetes.
  • Nova drakgloba hiperviziero bazita sur KVM kaj rust-vmm estis proponita.
  • Aldonita subteno por plusendado de aliro al la GPU per VFIO.
  • Aldonita subteno por cgroup v2.
  • Subteno por ŝanĝi agordojn sen ŝanĝi la ĉefan agordan dosieron estis efektivigita anstataŭigante blokojn en apartaj dosieroj situantaj en la dosierujo "config.d/".
  • Rust-komponentoj inkluzivas novan bibliotekon por sekure labori kun dosiervojoj.
  • La virtiofsd-komponento (skribita en C) estis anstataŭigita kun virtiofsd-rs (skribita en Rust).
  • Aldonita subteno por sandboxing QEMU-komponentoj.
  • QEMU uzas la io_uring API por nesinkrona I/O.
  • Subteno por etendaĵoj Intel TDX (Fidaj Domajnaj Etendaĵoj) estis efektivigita por QEMU kaj Cloud-hypervisor.
  • Komponantoj ĝisdatigitaj: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linukso-kerno 5.19.2.

fonto: opennet.ru

Aldoni komenton