Uitgave van Kata Containers 3.0 met isolatie op basis van virtualisatie

Na het twee jaar durende ontwikkeling is de release van het project Kata Containers 3.0 gepubliceerd, dat een stack ontwikkeld voor het uitvoeren van containers met behulp van isolatie op basis van volledige virtualisatie mechanismen. Het project is ontwikkeld door de bedrijven Intel en Hyper door het samenvoegen van de technologieën Clear Containers en runV. De code van het project is geschreven in de programmeertalen Go en Rust en wordt verspreid onder de Apache 2.0-licentie. De ontwikkeling van het project wordt gecoördineerd door een werkgroep, opgericht onder de auspiciën van de onafhankelijke organisatie OpenStack Foundation, waaraan bedrijven zoals Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE en ZTE deelnemen.

De basis van Kata is een runtime die de mogelijkheid biedt om compacte virtuele machines te creëren die worden uitgevoerd met behulp van een volledige hypervisor, in plaats van traditionele containers die gebruikmaken van een gedeelde Linux-kernel en worden geïsoleerd met behulp van namespaces en cgroups. Toepassing virtuele machines maakt het mogelijk om een hoger niveau van beveiliging te bereiken, dat bescherming biedt tegen aanvallen die het gevolg zijn van het uitbuiten van kwetsbaarheden in de Linux-kernel.

Kata Containers is gericht op integratie in bestaande containerisolatiestructuren met de mogelijkheid om dergelijke virtuele machines te gebruiken om de bescherming van traditionele containers te versterken. Het project biedt mechanismen om de compatibiliteit van lichte virtuele machines met verschillende containerisolatiestructuren, containerorkestratie platforms en specificaties zoals OCI (Open Container Initiative), CRI (Container Runtime Interface) en CNI (Container Networking Interface) te waarborgen. Er zijn middelen beschikbaar voor integratie met Docker, Kubernetes, QEMU en OpenStack.

Uitgave van Kata Containers 3.0 met isolatie op basis van virtualisatie

Integratie met containerbeheersystemen wordt bereikt via een laag die het containerbeheer simuleert, welke via een gRPC-interface en een speciale proxy communiceert met de beheersagent in de virtuele machine. Binnen de virtuele omgeving, die door de hypervisor wordt opgestart, wordt een speciaal geoptimaliseerde Linux-kernel gebruikt, die alleen de minimale noodzakelijke mogelijkheden bevat.

Als hypervisor wordt Dragonball Sandbox ondersteund (KVM-editie, geoptimaliseerd voor containers) met QEMU-tools, evenals Firecracker en Cloud Hypervisor. De systeemomgeving omvat een initialisatie-daemon en een agent (Agent). De agent zorgt voor het uitvoeren van door de gebruiker opgegeven container-images in OCI-formaat voor Docker en CRI voor Kubernetes. Bij gebruik in combinatie met Docker wordt voor elke container een aparte virtuele machine, d.w.z. de boven de hypervisor draaiende omgeving wordt gebruikt voor het genest starten van containers.

Uitgave van Kata Containers 3.0 met isolatie op basis van virtualisatie

Om het geheugengebruik te verminderen, wordt het DAX-mechanisme (Direct Access to FS, omzeilt paginacache zonder gebruik van blokapparatenniveau) toegepast, en voor deduplicatie van identieke geheugengebieden wordt de KSM-technologie (Kernel Samepage Merging) gebruikt, wat het delen van resources van het host-systeem mogelijk maakt en het verbinding maken van verschillende gastsystemen met een gemeenschappelijk systeemomgevingssjabloon.

In de nieuwe versie:

  • Een alternatieve runtime (runtime-rs) is voorgesteld, die de vulling van de containers vormt, geschreven in de programmeertaal Rust (de eerder geleverde runtime was geschreven in Go). De runtime is compatibel met OCI, CRI-O en Containerd, waardoor deze met Docker en Kubernetes kan worden gebruikt.
  • Een nieuwe hypervisor dragonball is voorgesteld, gebaseerd op KVM en rust-vmm.
  • Ondersteuning voor GPU-toegang via VFIO is toegevoegd.
  • Ondersteuning voor cgroup v2 is toegevoegd.
  • Ondersteuning voor het vervangen van instellingen zonder de hoofdconfiguratiebestand te wijzigen door blokken in aparte bestanden, geplaatst in de map 'config.d/', is geïmplementeerd.
  • In de componenten geschreven in Rust is een nieuwe bibliotheek voor veilige bestands padbehandeling gebruikt.
  • De component virtiofsd (geschreven in C) is vervangen door virtiofsd-rs (geschreven in Rust).
  • Ondersteuning voor sandbox-isolatie van QEMU-componenten is toegevoegd.
  • In QEMU is de API io_uring gebruikt voor asynchrone invoer/uitvoer.
  • Voor QEMU en Cloud-hypervisor is ondersteuning voor Intel TDX (Trusted Domain Extensions) geïmplementeerd.
  • Componenten zijn geüpdatet: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux-kernel 5.19.2.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster