Veröffentlichung von Kata Containers 3.0 mit virtualisierungsbasiertem Isolation

Nach zwei Jahren Entwicklung wird die Version 3.0 des Kata Containers-Projekts veröffentlicht, das einen Stack für die Ausführung von Containern unter Verwendung von Basis-Mechanismen der Vollvirtualisierung entwickelt. Das Projekt wurde von Intel und Hyper ins Leben gerufen, indem die Technologien von Clear Containers und runV zusammengeführt wurden. Der Code des Projekts ist in den Programmiersprachen Go und Rust verfasst und wird unter der Apache 2.0-Lizenz veröffentlicht. Das Projekt wird von einer Arbeitsgruppe betreut, die unter dem Schirm der unabhängigen Organisation OpenStack Foundation gegründet wurde und an der Unternehmen wie Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE und ZTE beteiligt sind.

Die Grundlage von Kata bildet ein Runtime, das die Möglichkeit bietet, kompakte virtuelle Maschinen zu erstellen, die unter Verwendung eines vollständigen Hypervisors ausgeführt werden, anstelle von traditionellen Containern, die einen gemeinsamen Linux-Kernel nutzen und durch Namensräume sowie cgroups isoliert sind. Der Einsatz von virtuellen Maschinen ermöglicht ein höheres Maß an Sicherheit, das vor Angriffen schützt, die durch die Ausnutzung von Schwachstellen im Linux-Kernel verursacht werden.

Kata Containers ist auf die Integration in bestehende Containerisolierungsinfrastrukturen ausgerichtet und ermöglicht den Einsatz virtueller Maschinen zur Verbesserung des Schutzes traditioneller Container. Das Projekt bietet Mechanismen zur Gewährleistung der Kompatibilität von leichtgewichtigen virtuellen Maschinen mit verschiedenen Containerisolierungsinfrastrukturen, Containerorchestrierungsplattformen und Spezifikationen wie OCI (Open Container Initiative), CRI (Container Runtime Interface) und CNI (Container Networking Interface). Es stehen Integrationswerkzeuge für Docker, Kubernetes, QEMU und OpenStack zur Verfügung.

Veröffentlichung von Kata Containers 3.0 mit virtualisierungsbasiertem Isolation

Die Integration mit Containerverwaltungsystemen erfolgt über eine Schicht, die die Containerverwaltung simuliert und über eine gRPC-Schnittstelle sowie einen speziellen Proxy auf den Verwaltungsagenten in der virtuellen Maschine zugreift. Innerhalb der von einem Hypervisor gestarteten virtuellen Umgebung wird ein speziell optimierter Linux-Kernel verwendet, der nur die minimal notwendige Funktionalität enthält.

Als Hypervisor wird Dragonball Sandbox (KVM-Edition, optimiert für Container) zusammen mit den Werkzeugen QEMU, Firecracker und Cloud Hypervisor unterstützt. Die Systemumgebung beinhaltet einen Initialisierungsdaemon und einen Agenten. Der Agent ermöglicht die Ausführung bestimmter benutzerdefinierter Container-Images im OCI-Format für Docker und CRI für Kubernetes. Bei gleichzeitiger Verwendung mit Docker wird für jeden Container eine separate virtuelle Maschine, d.h. die Umgebung, die über den Hypervisor läuft, wird für das verschachtelte Starten von Containern verwendet.

Veröffentlichung von Kata Containers 3.0 mit virtualisierungsbasiertem Isolation

Zur Reduzierung des Speicherverbrauchs kommt der DAX-Mechanismus (Direkter Zugriff auf das Dateisystem ohne Seiten-Cache und ohne Verwendung von Blockgeräteschichten) zum Einsatz, während KSM (Kernel Samepage Merging) zur Deduplication identischer Speicherbereiche eingesetzt wird. Dies ermöglicht eine gemeinsame Nutzung der Ressourcen des Hosts und die Verbindung eines gemeinsamen Systemumgebungs-Templates zu verschiedenen Gastsystemen.

In der neuen Version:

  • Ein alternativer Runtime (runtime-rs) wurde vorgeschlagen, der die Container-Inhalte bildet und in Rust geschrieben ist (der zuvor gelieferte Runtime war in Go geschrieben). Der Runtime ist mit OCI, CRI-O und Containerd kompatibel, was die Nutzung mit Docker und Kubernetes ermöglicht.
  • Ein neuer Hypervisor namens dragonball wurde basierend auf KVM und rust-vmm vorgeschlagen.
  • Unterstützung für GPU-Passthrough wurde hinzugefügt, unter Verwendung von VFIO.
  • Unterstützung für cgroup v2 wurde hinzugefügt.
  • Die Unterstützung für das Ersetzen von Einstellungen ohne Änderung der Hauptkonfigurationsdatei wurde durch den Austausch von Blöcken in separaten Dateien, die im Verzeichnis "config.d/" abgelegt sind, implementiert.
  • In den Komponenten in Rust wurde eine neue Bibliothek für den sicheren Umgang mit Dateipfaden integriert.
  • Die Komponente virtiofsd (in C geschrieben) wurde durch virtiofsd-rs (in Rust geschrieben) ersetzt.
  • Unterstützung für die Sandbox-Isolierung von QEMU-Komponenten wurde hinzugefügt.
  • In QEMU wurde die API io_uring für asynchronen Input/Output verwendet.
  • Für QEMU und Cloud-Hypervisor wurde die Unterstützung für Intel TDX (Trusted Domain Extensions) implementiert.
  • Die Komponenten wurden aktualisiert: QEMU 6.2.0, Cloud-Hypervisor 26.0, Firecracker 1.1.0, Linux-Kernel 5.19.2.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster