Die Veröffentlichung des Kata Containers 3.2 Projekts, das einen Stack zur AusfĂŒhrung von Containern unter Verwendung von vollstĂ€ndiger Virtualisierungsisolation entwickelt, ist jetzt verfĂŒgbar. Das Projekt wurde von Intel und Hyper ins Leben gerufen und kombiniert Technologien aus Clear Containers und runV. Der Code des Projekts ist in den Programmiersprachen Go und Rust geschrieben und steht unter der Lizenz Apache 2.0. Die Weiterentwicklung des Projekts wird von einer Arbeitsgruppe unter der Schirmherrschaft der unabhĂ€ngigen Organisation OpenStack Foundation geleitet, an der Unternehmen wie Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE und ZTE teilnehmen.
Die Grundlage von Kata bildet eine Runtime, die es ermöglicht, kompakte virtuelle Maschinen zu erstellen, die unter Verwendung eines vollstĂ€ndigen Hypervisors betrieben werden, anstelle von traditionellen Containern, die einen gemeinsamen Linux-Kernel nutzen und durch Namespaces und cgroups isoliert sind. Die Anwendung virtuelle Maschinen ermöglicht ein höheres Sicherheitsniveau, das vor Angriffen schĂŒtzt, die durch die Ausnutzung von Schwachstellen im Linux-Kernel verursacht werden.
Kata Containers ist auf die Integration in bestehende Container-Isolierungsinfrastrukturen ausgerichtet und ermöglicht die Verwendung solcher virtuellen Maschinen zur Erhöhung der Sicherheit traditioneller Container. Das Projekt bietet Mechanismen zur Sicherstellung der KompatibilitĂ€t von leichten virtuellen Maschinen mit verschiedenen Container-Isolierungsinfrastrukturen, Container-Orchestrierungsplattformen und Spezifikationen wie OCI (Open Container Initiative), CRI (Container Runtime Interface) und CNI (Container Networking Interface). Werkzeuge zur Integration mit Docker, Kubernetes, QEMU und OpenStack sind verfĂŒgbar.
Die Integration mit Containerverwaltungsystemen erfolgt ĂŒber eine Schicht, die die Containerverwaltung simuliert, die ĂŒber eine gRPC-Schnittstelle und einen speziellen Proxy auf den verwaltenden Agenten in der virtuellen Maschine zugreift. Innerhalb der virtuellen Umgebung, die vom Hypervisor gestartet wird, kommt ein speziell optimierter Linux-Kernel zum Einsatz, der nur den minimalen Satz notwendiger Funktionen enthĂ€lt.
Als Hypervisor wird Dragonball Sandbox (KVM-Edition, optimiert fĂŒr Container) mit den Werkzeugen QEMU sowie Firecracker und Cloud Hypervisor unterstĂŒtzt. Die Systemumgebung umfasst einen Initialisierungsdaemon und einen Agenten (Agent). Der Agent sorgt fĂŒr die AusfĂŒhrung benutzerdefinierter Container-Images im OCI-Format fĂŒr Docker und im CRI-Format fĂŒr Kubernetes. Bei der Verwendung mit Docker wird fĂŒr jeden Container eine separate eine virtuelle Maschine, d.h. die ĂŒber dem Hypervisor gestartete Umgebung wird fĂŒr das verschachtelte Starten von Containern verwendet.

Zur Reduzierung des Speicherverbrauchs wird der DAX-Mechanismus (direkter Zugriff auf das Dateisystem, um den Seiten-Cache ohne BlockgerĂ€te-Ebene zu umgehen) eingesetzt, und zur Deduplizierung identischer Speicherbereiche wird die KSM-Technologie (Kernel Samepage Merging) genutzt, die es ermöglicht, die Ressourcen des Host-Systems gemeinsam zu nutzen und ein gemeinsames Vorlagen-Sytemumfeld an verschiedene Gastsysteme anzuschlieĂen.
In der neuen Version:
- Neben der UnterstĂŒtzung der AMD64-Architektur (x86_64) wird die Erstellung von Releases fĂŒr die ARM64-Architektur (Aarch64) und s390 (IBM Z) sichergestellt. Die UnterstĂŒtzung der ppc64le-Architektur (IBM Power) ist in Arbeit.
- FĂŒr den Zugriff auf Container-Images wird das Dateisystem Nydus 2.2.0 verwendet, das eine inhaltsbasierte Adressierung fĂŒr eine effiziente Zusammenarbeit mit Standard-Images ermöglicht. Nydus unterstĂŒtzt das On-Demand-Laden von Images (lĂ€dt nur bei Bedarf), sorgt fĂŒr die Deduplizierung wiederkehrender Daten und kann unterschiedliche Backends fĂŒr die tatsĂ€chliche Speicherung nutzen. Es wird KompatibilitĂ€t mit POSIX bereitgestellt (analog zu Composefs, die Nydus-Implementierung kombiniert die Möglichkeiten von OverlayFS mit EROFS oder einem FUSE-Modul).
- In die Hauptversion des Kata Containers-Projekts wurde der Virtual Machine Manager Dragonball integriert, der jetzt im gemeinsamen Repository weiterentwickelt wird.
- Das Dienstprogramm kata-ctl wurde um eine Debugging-Funktion zur Verbindung mit der virtuellen Maschine aus der Host-Umgebung erweitert.
- Die Möglichkeiten zur Verwaltung von GPUs wurden erweitert, und die UnterstĂŒtzung fĂŒr das Durchreichen von GPUs in Container fĂŒr vertrauliche Berechnungen (Confidential Container) wurde hinzugefĂŒgt, bei denen die Daten-, Speicher- und AusfĂŒhrungszustandsverschlĂŒsselung zum Schutz im Falle einer Kompromittierung der Host-Umgebung oder des Hypervisors gewĂ€hrleistet ist.
- Im Runtime-rs wurde ein Subsystem zur Verwaltung von GerĂ€ten hinzugefĂŒgt, die in Containern oder Sandbox-Umgebungen verwendet werden. Die UnterstĂŒtzung fĂŒr die Arbeit mit vfio, Block-, Netzwerk- und anderen GerĂ€tetypen ist gewĂ€hrleistet.
- Die KompatibilitÀt mit OCI Runtime 1.0.2 und Kubernetes 1.23.1 wurde sichergestellt.
- FĂŒr den Linux-Kernel wird die Version 6.1.38 mit Patches empfohlen.
- Die Entwicklung wurde von Jenkins als kontinuierliche Integrationslösung auf GitHub Actions umgestellt.
Quelle: opennet.ru
