Utgivelse av Kata Containers 3.0 med virtualiseringsbasert isolasjon

ПослС Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Kata Containers 3.0, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ стСк для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ выполнСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с использованиСм изоляции Π½Π° Π±Π°Π·Π΅ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ создан компаниями Intel ΠΈ Hyper ΠΏΡƒΡ‚Ρ‘ΠΌ объСдинСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Clear Containers ΠΈ runV. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языках Go ΠΈ Rust, ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ рабочая Π³Ρ€ΡƒΠΏΠΏΠ°, созданная ΠΏΠΎΠ΄ эгидой нСзависимой ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ OpenStack Foundation, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE ΠΈ ZTE.

ΠžΡΠ½ΠΎΠ²Ρƒ Kata составляСт runtime, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, выполняСмыС с использованиСм ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π°, вмСсто примСнСния Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π΅ ядро Linux ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ пространств ΠΈΠΌΡ‘Π½ ΠΈ cgroups. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокого уровня бСзопасности, Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… эксплуатациСй уязвимостСй Π² ядрС Linux.

Kata Containers er fokusert pΓ₯ integrering i eksisterende containerisolasjonsinfrastrukturer med muligheten til Γ₯ bruke lignende virtuelle maskiner for Γ₯ forbedre beskyttelsen av tradisjonelle containere. Prosjektet gir mekanismer for Γ₯ sikre kompatibilitet av lette virtuelle maskiner med ulike containerisolasjonsinfrastrukturer, containerorkestreringsplattformer og spesifikasjoner som OCI (Open Container Initiative), CRI (Container Runtime Interface) og CNI (Container Networking Interface). VerktΓΈy er tilgjengelige for integrasjon med Docker, Kubernetes, QEMU og OpenStack.

Utgivelse av Kata Containers 3.0 med virtualiseringsbasert isolasjon

Integrasjon med containeradministrasjonssystemer oppnΓ₯s ved hjelp av et lag som simulerer containeradministrasjon, som fΓ₯r tilgang til den administrerende agenten i den virtuelle maskinen gjennom gRPC-grensesnittet og en spesiell proxy. Inne i det virtuelle miljΓΈet, som lanseres av hypervisoren, brukes en spesielt optimert Linux-kjerne, som kun inneholder det minste settet med nΓΈdvendige evner.

Som hypervisor stΓΈtter den bruken av Dragonball Sandbox (en utgave av KVM optimalisert for containere) med QEMU-verktΓΈysettet, samt Firecracker og Cloud Hypervisor. SystemmiljΓΈet inkluderer en initialiseringsdemon og en agent. Agenten gir kjΓΈring av brukerdefinerte containerbilder i OCI-format for Docker og CRI for Kubernetes. NΓ₯r den brukes sammen med Docker, opprettes en separat virtuell maskin for hver container, dvs. MiljΓΈet som kjΓΈrer pΓ₯ toppen av hypervisoren brukes til nestet lansering av containere.

Utgivelse av Kata Containers 3.0 med virtualiseringsbasert isolasjon

For Γ₯ redusere minneforbruket brukes DAX-mekanismen (direkte tilgang til filsystemet, omgΓ₯ sidebufferen uten Γ₯ bruke blokkenhetsnivΓ₯et), og for Γ₯ deduplisere identiske minneomrΓ₯der brukes KSM (Kernel Samepage Merging) teknologi, som lar deg Γ₯ organisere deling av vertssystemressurser og koble til forskjellige gjestesystemer dele en felles systemmiljΓΈmal.

I den nye versjonen:

  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ runtime (runtime-rs), Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡ΠΈΠ½ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², написанный Π½Π° языкС Rust (Ρ€Π°Π½Π΅Π΅ поставляСмый runtime написан Π½Π° языкС Go). Runtime совмСстим с OCI, CRI-O ΠΈ Containerd, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Docker ΠΈ Kubernetes.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ dragonball, основанный Π½Π° KVM ΠΈ rust-vmm.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° проброса доступа ΠΊ GPU, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ VFIO.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° cgroup v2.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹ настроСк Π±Π΅Π· измСнСния основного Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΌΠ΅Π½Ρƒ Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Β«config.d/Β».
  • Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… Π½Π° языкС Rust задСйствована новая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ путями.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ virtiofsd (написан Π½Π° Π‘ΠΈ) Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° virtiofsd-rs (написан Π½Π° Rust).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° sandbox-изоляции ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² QEMU.
  • Π’ QEMU для асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° задСйствован API io_uring.
  • Для QEMU ΠΈ Cloud-hypervisor Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Intel TDX (Trusted Domain Extensions).
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, ядро Linux 5.19.2.

Kilde: opennet.ru

Legg til en kommentar