Kata-Container: Grundlegende Konzepte, Funktionen und Anwendungsbereiche
Kata Containers ist ein unabhängiges Open Source-Community-Projekt, das die Vorteile eines Containersystems mit denen einer virtuellen Maschine kombiniert.
Herkömmliche Container sind eine Virtualisierungstechnologie in der Computerumgebung, die Anwendungen von ihrer Laufzeit trennt, selbst wenn sie auf demselben Betriebssystem ausgeführt werden. Auf diese Weise werden die Daten und Prozesse unabhängig voneinander ausgeführt und haben keinen Zugriff auf die Daten in anderen Containern. Der Hauptunterschied zu virtuellen Maschinen besteht darin, dass ein normaler Container kein eigenes Betriebssystem hat, sondern das Hostsystem verwendet.
Als nächstes erklären wir ausführlich, wer für dieses Projekt verantwortlich ist und wie die Kata-Container funktionieren. Ebenso präsentieren wir seine Vor- und Nachteile, und die beliebtesten Anwendungen der sicheren Laufzeit von Containern.
- Was sind Kata-Container?
- Wie funktionieren Kata-Container?
- Was ist die Architektur von Kata Containers?
- Kompatibilität mit Kata-Containern
- Unterschiede zwischen Kata-Containern und herkömmlichen Containern
- Sicherheit von Kata-Containern
- Kata-Container: Zusammenfassung ihrer Vor- und Nachteile
- Wo werden Kata-Container eingesetzt?
Was sind Kata-Container?
Das Kata Containers-Projekt, das im Dezember 2017 gestartet wurde, zielt darauf ab, eine leichte virtuelle Maschine zu entwickeln, die wie ein Container aussieht und funktioniert. Kata-Container sind sehr einfach zu bedienen, hochkompatibel und können auch hohe Arbeitslasten bewältigen, während ein hoher Sicherheitsstandard beibehalten wird . Um dies zu erreichen, setzt sich die Community für eine stärkere Isolation nach außen und nach innen durch Hardware- Virtualisierungstechnologie als zweite Verteidigungslinie ein.
Das Kata Containers-Projekt wird von der OpenStack Foundation (OSF) finanziert und verwaltet , die daran arbeitet, eine offene Infrastruktur für Cloud Computing weltweit zu entwickeln und bereitzustellen. Aus diesem Grund ist der OSF-Verhaltenskodex ein wesentliches Nachschlagewerk für die Zusammenarbeit in der Open Source-Community. Der Projektcode wird auf GitHub mit einer Apache 2-Lizenz gehostet . Das Architekturkomitee von Kata besteht aus großen Unternehmen wie Google und Microsoft.
Die OpenStack Foundation hat eine detaillierte 30-minütige Präsentation zu den Kata-Containern auf YouTube veröffentlicht:
Um Ihre Privatsphäre zu schützen, wird das Video nach dem Klicken hochgeladen.
Wie funktionieren Kata-Container?
Was genau ist die Architektur und Funktionalität der Kata-Container? Um diese Frage zu beantworten, müssen Sie zum Anfang des Projekts zurückkehren: Im Dezember 2017 hat die Community die besten Teile von Intel Clear Containers (Intels Projekt für sichere Linux-Container) erfolgreich mit Hyper runV (Zeitpunkt von ) zusammengeführt und erweitert hypervisorbasierte Ausführung für Open Container-Initiativprojekte). Fazit: Die Leistung von Intel wurde mit der Plattformunabhängigkeit von Hyper kombiniert.
Einer der wichtigsten Aspekte in jedem Containersystem ist die Sicherheit : Da die Behälter gestapelt oder in Schichten angeordnet werden können, ist es schwierig , ihre Sicherheit zu gewährleisten. Daher streben sowohl Intel als auch Hyper auf unterschiedliche Weise, jedoch mit vergleichbaren Ergebnissen, ein hohes Maß an Flexibilität in einer Containerumgebung an: Containerformate wie Kubernetes können einfach auf OpenStack gestapelt werden oder umgekehrt, wie dies ebenfalls möglich ist das komplexe Stapeln von Kubernetes auf OpenStack auf Kubernetes. Diese Flexibilität bei der architektonischen Konstruktion vereinfacht die Verwendung von Kata-Containern erheblich, ohne ein Sicherheitsrisiko darzustellen.
Kata kann sowohl mit einem Isolationscontainer für virtuelle Maschinen als auch als Isolationscontainer über Virtualisierungshardware implementiert werden . Für Kubernetes, Isolierung virtuelle Maschine wird nicht auf Container – Ebene vorgesehen , sondern auf der Ebene der Podman oder pod , wie Kubernetes wie bekannt sind Schoten ( Hülsen ) statt Behältern . Der Einfachheit halber werden wir in diesem Text den Begriff Container verwenden , um auf sie zu verweisen.
Was ist die Architektur von Kata Containers?
Die Community verfolgt die Strategie der maximalen Einfachheit, die sich auch in der Architektur von Kata Containers widerspiegelt, die die folgenden sechs Komponenten umfasst:
- Agent
- Ausführungszeit
- Proxy
- Shim (Kompatibilitätserweiterung für jede Anwendung)
- Kern (Betriebssystemkern)
- Paket mit QEMU 2.9 ( freie Virtualisierungssoftware
Diese Eigenschaften machen Kata unabhängig, hochkompatibel und gleichzeitig sehr sicher. Die Architektur unterstützt nicht nur x86_64, sondern auch AMD64-, ARM- und IBM-Pyz-Serien. Darüber hinaus ermöglichen Kata-Container die Verwendung mehrerer Hypervisoren wie QEMU, NEMU und Firecracker. Es ermöglicht auch die Integration in das Containerd-Projekt.
Kompatibilität mit Kata-Containern
Kata 1.10 ist mit Docker Community Edition kompatibel, aber auch mit allen anderen Industriestandards wie dem OCI-Containerformat, Kubernetes CRI-Schnittstellen und einigen älteren Virtualisierungstechnologien, einschließlich CRI-O (1.10 Commit 393429) entsprechend CRI-Containerd Version 1.0.0) oder der OCI Runtime Specification (v1.0.0-rc5).
Hier sind einige der von Kata Containers unterstützten Betriebssysteme :
- CentOS (7)
- Debian (9, 10)
- Fedora (28, 29, 30)
- Ubuntu (16.04, 18.04)
- Red Hat Enterprise Linux (7)
- OpenSUSE (Sprung, Tumbleweed)
Unterschiede zwischen Kata-Containern und herkömmlichen Containern
Der größte Vorteil von Kata Containers besteht darin, dass Einfachheit und Leistung kombiniert werden, da keine Container mehr in vollständigen virtuellen Maschinen verschachtelt werden müssen. Die Community hat sich darauf konzentriert, Standardschnittstellen zu erstellen, die das Kennenlernen des Systems und das Verbinden erheblich erleichtern. Die Leistung ist immer noch so zuverlässig wie bei einem Standard-Linux-Container, aber dank der erhöhten Isolation verfügt es nicht über die Leistungsregelung, die eine herkömmliche virtuelle Maschine bieten würde. Die folgende Grafik zeigt die Vorteile seiner Struktur.
Dies bedeutet, dass das Open Source-Projekt bereits sein Ziel erreicht hat, eine Open Source-Containerumgebung zu schaffen, deren Komponenten sich wie Container verhalten, aber die Leistung und Sicherheit virtueller Maschinen bieten . Kata Containers konnte bereits einige der ältesten Containerprobleme wie Skalierungsprobleme lösen.
Sicherheit von Kata-Containern
Gewöhnliche Behälter sind leicht, schnell und einfach zu integrieren. Sie bergen jedoch Sicherheitsrisiken, insbesondere wenn sie sich im selben Betriebssystem befinden: Wenn sich die Container einen Kern, einen E / A-Pfad, dasselbe Netzwerk und denselben Speicher teilen, reicht es aus, einen einzelnen Container anzugreifen , um Kompromisse einzugehen alle anderen .
Bei Kata Containers ist die Situation völlig anders: Die virtuelle Maschine wird auf einem dedizierten Kernel (Betriebssystemkernel) ausgeführt, der Prozesse vom Netzwerk und E / A sowie vom Speicher trennt. Zusätzlich zu der bereits starken Isolation kann die Hardware- erzwungene Isolation mit VT-Virtualisierungserweiterungen verwendet werden.
Kata-Container: Zusammenfassung ihrer Vor- und Nachteile
Dieses ehrgeizige Open Source-Projekt der OpenStack Foundation hat viele Vorteile. Selbst Clear Linux (Intel) hat seine eigene Containertechnologie aufgegeben und mit guten Ergebnissen auf Kata Containers umgestellt. Die entscheidenden Gründe haben wir oben bereits erwähnt:
- ausgezeichnete Kompatibilität,
- einfache Handhabung,
- Hochleistung,
- hoher Sicherheitsstandard.
Ein weiterer Vorteil ist der geringe Stromverbrauch auch bei hoher Leistung.
Kata ist jedoch keine Allzweckdistribution. Es ist ein spezielles System mit Einschränkungen, von denen einige auf seine Prinzipien zurückzuführen sind . Dies umfasst Vorgänge, die nicht auf einer virtuellen Maschine ausgeführt werden können, aber auch Einschränkungen, die in zukünftigen Updates entfernt werden. Die Community hat eine detaillierte Liste ihrer Einschränkungen in der offiziellen Dokumentation auf GitHub veröffentlicht. Kata-Container sind derzeit nur auf Linux-Distributionen verfügbar.
Ein weiterer nicht unerheblicher Nachteil ist, dass sich Kata in einem frühen Stadium befindet. Die technologischen Grundlagen sind jedoch vielversprechend und haben bereits viele Verwendungsmöglichkeiten.
Wo werden Kata-Container eingesetzt?
Wie eingangs erwähnt, hält sich die Community an den OSF-Verhaltenskodex, der eine offene Verwaltung des gesamten Projekts , insbesondere des Quellcodes, umfasst. Der beste Weg, um diesen Grad an Offenheit zu erreichen, besteht darin, die beiden integrierten und virtualisierten Open Source-Datenbanken zu kombinieren. Zu den zahlreichen Unterstützern zählen Kubernetes, Docker, OCI, CRI, CNI, QEMU, KVM und OpenStack.
Clear Containers und runV, die technologische Grundlage von Kata Containers, werden von großen Unternehmen auf der ganzen Welt verwendet, darunter JD.com, einer der beliebtesten Online- Shops in China .
Kata-Container werden besonders empfohlen, wenn Container benötigt werden, die nicht einkernig sein sollen. Dies kann in Bereichen wie der kontinuierlichen Integration und Bereitstellung (CI / CD), Edge-Computing, virtualisierten Netzwerkfunktionen und Container as a Service (CaaS) der Fall sein. Kata ist auch ideal für spezielle Implementierungen, da kein anderer Container so einfach, effizient, sicher und flexibel ist.