Kata Con­tai­ners ist ein Projekt einer un­ab­hän­gi­gen Open-Source-Community, die gemeinsam daran arbeitet, die Vorteile eines Con­tai­ner­sys­tems mit denen einer einfachen virtuelle Maschinen zu kom­bi­nie­ren.

Wir erklären, wer hinter dem Projekt steckt und wie Kata Con­tai­ners im Detail funk­tio­nie­ren. Außerdem in­for­mie­ren wir über Vor- und Nachteile sowie die be­lieb­tes­ten Ein­satz­sze­na­ri­os der sicheren Container-Laufzeit.

Was sind Kata Con­tai­ners?

Das im Dezember 2017 ins Leben gerufene Projekt Kata Con­tai­ners verfolgt das Ziel, eine möglichst leicht­ge­wich­ti­ge virtuelle Maschine zu ent­wi­ckeln, die im Look and Feel eines Con­tai­ners funk­tio­niert. Kata Con­tai­ners sind demnach sehr einfach zu bedienen, hoch­gra­dig kom­pa­ti­bel, können eine sehr hohe Ar­beits­last be­wäl­ti­gen und verfügen dennoch über einen hohen Si­cher­heits­stan­dard. Dafür setzt die Community von außen auf eine stärkere Iso­lie­rung und von innen auf eine Hardware-Vir­tua­li­sie­rung als zweite Ver­tei­di­gungs­li­nie.

Das Kata-Con­tai­ners-Projekt wird von der OpenStack Foun­da­ti­on (OSF) fi­nan­ziert und verwaltet, die sich für die Ent­wick­lung und Ein­füh­rung einer offenen In­fra­struk­tur für Cloud-Computing weltweit engagiert. Der Ver­hal­tens­ko­dex der OSF ist aus diesem Grund ein wichtiger Ori­en­tie­rungs­punkt für die ge­mein­schaft­li­che Arbeit der Open-Source-Community. Der Code des Projekts wird auf GitHub gehostet – unter der Apache-2-Lizenz. Im Kata-Ar­chi­tek­tur­aus­schuss sitzen u. a. wichtige große Un­ter­neh­men wie Google und Microsoft.

Eine aus­führ­li­che Vor­stel­lung von Kata Con­tai­ners hat die OpenStack Foun­da­ti­on in folgendem 30-minütigen Vortrag auf YouTube zur Verfügung gestellt:

Wie funk­tio­nie­ren Kata Con­tai­ners?

Wie sehen Ar­chi­tek­tur und Funk­ti­ons­wei­se von Kata Con­tai­ners genau aus? Um diese Frage zu be­ant­wor­ten, muss man zum Start des Projekts zu­rück­schau­en: Im Dezember 2017 hat die Community er­folg­reich die besten Teile von Intel Clear Con­tai­ners (Intel-Projekt für sichere Linux-Container) mit Hyper runV (Hy­per­vi­sor-basierte Laufzeit für Open-Container-In­itia­ti­ve-Projekte) zu­sam­men­ge­führt und skaliert. Oder kurz gesagt: Die Leistung von Intel trifft auf die Platt­form­un­ab­hän­gig­keit von Hyper.

Einer der wich­tigs­ten Punkte bei jedem Con­tai­ner­sys­tem ist die Si­cher­heit. Da Container über­ein­an­der­ge­sta­pelt bzw. ge­schich­tet werden können, ist der Si­cher­heits­aspekt häufig nur schwer zu ge­währ­leis­ten. Sowohl Intel als auch Hyper zielen deshalb – zwar auf un­ter­schied­li­chen Wegen, aber mit ver­gleich­ba­ren Ergebnis – auf eine hohe Fle­xi­bi­li­tät in einer Container-Umgebung ab: Die einfache Schich­tung von Con­tai­ner­for­ma­ten wie Ku­ber­netes auf OpenStack oder umgekehrt ist ebenso möglich wie die komplexe Schich­tung von Ku­ber­netes auf OpenStack auf Ku­ber­netes. Diese Fle­xi­bi­li­tät beim Aufbau der ge­wünsch­ten Ar­chi­tek­tur ver­ein­facht die Nutzung von Kata Con­tai­ners enorm, ohne dafür auf Si­cher­heit ver­zich­ten zu müssen.

Mit Kata können Sie sowohl eine VM-Iso­lie­rung auf Con­tai­ner­ebe­ne als auch eine Container-Iso­lie­rung durch Hardware-Vir­tua­li­sie­rung rea­li­sie­ren. Im Fall von Ku­ber­netes wird die VM-Iso­lie­rung dabei nicht auf Container-, sondern auf Podman- bzw. Pods-Ebene zur Verfügung gestellt, da man bei Ku­ber­netes von Pods statt von Con­tai­nern spricht. Im weiteren Verlauf wird zur Ver­ein­fa­chung aber weiterhin von Con­tai­nern ge­spro­chen.

Tipp

Ein­rich­tung und Aus­füh­rung von Con­tai­ner­sys­te­men können sehr komplex sein, da in der Regel viele Container auf ver­schie­de­nen Computer be­reit­ge­stellt werden müssen. Mit Managed Ku­ber­netes von IONOS können Sie Ihre Container leichter planen, or­ga­ni­sie­ren, be­reit­stel­len und frei nach Bedarf skalieren!

Wie sieht die Ar­chi­tek­tur von Kata Con­tai­ners aus?

Die Community verfolgt den Ansatz der maximalen Ein­fach­heit und beweist dies auch in der Ar­chi­tek­tur von Kata Con­tai­ners, die grund­sätz­lich folgende sechs Be­stand­tei­le vorsieht:

  1. Agent
  2. Laufzeit
  3. Proxy
  4. Shim (Kom­pa­ti­bi­li­ät­ser­wei­te­rung für die jeweilige Anwendung)
  5. Kernel (Be­triebs­sys­tem­kern)
  6. Bündel mit QEMU 2.9 (freie Vir­tua­li­sie­rungs­soft­ware)

Diese Ei­gen­schaf­ten machen Kata un­ab­hän­gig, hoch­gra­dig kom­pa­ti­bel und gleich­zei­tig sehr sicher. Die Ar­chi­tek­tur kann neben x86_64 auch AMD64, ARM sowie die IBM p-Serie und die IBM z-Serie un­ter­stüt­zen. Darüber hinaus erlaubt Kata Con­tai­ners den Einsatz mehrerer Hy­per­vi­so­ren wie QEMU, NEMU und Fire­cra­cker. Auch eine In­te­gra­ti­on in das con­tai­nerd-Projekt ist möglich.

Die Kom­pa­ti­bi­li­tät von Kata Con­tai­ners

Kata 1.10 ist kom­pa­ti­bel zur Docker Community Edition, un­ter­stützt aber auch alle anderen In­dus­trie­stan­dards wie das OCI-Con­tai­ner­for­mat, Ku­ber­netes CRI-Schnitt­stel­len sowie einige ältere Vir­tua­li­sie­rungs­tech­no­lo­gien, u.a. CRI-O (1.10 commit 393429 re­spek­ti­ve CRI-Con­tai­nerd version 1.0.0) oder die OCI Runtime Spe­ci­fi­ca­ti­on (v1.0.0-rc5).

Zu den un­ter­stütz­ten Be­triebs­sys­te­men, auf denen Kata Con­tai­ners laufen, zählen:

  • CentOS (7)
  • Debian (9, 10)
  • Fedora (28, 29, 30)
  • Ubuntu (16.04, 18.04)
  • Red Hat En­ter­pri­se Linux (7)
  • OpenSUSE (Leap, Tumb­le­weed)

Un­ter­schied von Kata Con­tai­ners zu her­kömm­li­chen Con­tai­nern

Der größte Vorteil von Kata Con­tai­ners ist die Ver­bin­dung aus Ein­fach­heit und Leistung. Eine Ver­schach­te­lung von Con­tai­nern in voll­wer­ti­ge virtuelle Maschinen ist nicht mehr er­for­der­lich, die Community hat hier auf Stan­dard­schnitt­stel­len gesetzt, die den Einstieg und das An­schlie­ßen enorm er­leich­tern. Die Leistung bleibt so kon­sis­tent wie ein Standard-Linux-Container, hat aber dank der erhöhten Iso­lie­rung nicht die übliche Leis­tungs­steu­er einer vir­tu­el­len Stan­dard­ma­schi­ne. Die folgende Grafik ver­an­schau­licht den vor­teil­haf­ten Aufbau.

Damit erreicht das Open-Source-Projekt schon jetzt das Ziel einer quell­of­fe­nen Container-Umgebung, deren Kom­po­nen­ten sich wie Container verhalten, aber die Leistung und Si­cher­heit von VMs bieten. So konnte Kata Con­tai­ners bereits die alt­ein­ge­ses­se­nen Bedenken gegenüber Con­tai­nern, z. B. hin­sicht­lich der Ska­lie­rung, aushebeln.

Die Si­cher­heit von Kata Con­tai­ners

Ge­wöhn­li­che Container sind leicht, schnell und lassen sich einfach in­te­grie­ren. Im Gegenzug bergen sie Si­cher­heits­ri­si­ken – ins­be­son­de­re, wenn sie in einem Ein­zel­be­triebs­sys­tem sind: Wenn sich die Container einen Kern, einen I/O-Pfad, dasselbe Netzwerk und denselben Speicher teilen, reicht es nämlich bereits aus, einen Container an­zu­grei­fen, um gleich­zei­tig alle anderen zu gefährden.

Bei Kata Con­tai­ners verhält es sich gänzlich anders: Die virtuelle Maschine läuft in einem de­di­zier­ten Kernel (Be­triebs­sys­tem­kern), wodurch die Prozesse sowohl von Netzwerk und E/A, als auch vom Speicher getrennt werden. Zu­sätz­lich zur ohnehin schon starken Iso­lie­rung kann eine durch Hardware ver­stärk­te Iso­lie­rung mit Vir­tua­li­sie­rungs-VT-Er­wei­te­run­gen genutzt werden.

Kata Con­tai­ners: Vor- und Nachteile im Überblick

Viele Punkte sprechen für das am­bi­tio­nier­te Open-Source Projekt von der OpenStack Foun­da­ti­on. Selbst Clear Linux (Intel) hat sich von seiner haus­ei­ge­nen Container-Tech­no­lo­gie ver­ab­schie­det und supportet bereits sehr er­folg­reich Kata Con­tai­ners. Die ent­schei­den­den Gründe wurden oben bereits auf­ge­führt:

  • her­vor­ra­gen­de Kom­pa­ti­bi­li­tät
  • einfache Bedienung
  • hohe Leis­tungs­fä­hig­keit
  • hoher Si­cher­heits­stan­dard

Ein weiterer Vorteil ist der geringe Strom­ver­brauch, auch bei hoher Per­for­mance.

Kata ist jedoch keine Dis­tri­bu­ti­on für alle Zwecke. Es ist ein spe­zi­el­les System mit teilweise prin­zip­be­ding­ten Be­gren­zun­gen. Darunter fallen Ope­ra­tio­nen, die eine virtuelle Maschine nicht erlaubt, aber auch Ein­schrän­kun­gen, die in künftigen Updates behoben werden sollen. Eine genaue Auf­zäh­lung der Li­mi­tie­run­gen liefert die Community in der of­fi­zi­el­len Do­ku­men­ta­ti­on auf GitHub. Aktuell ist Kata Con­tai­ners außerdem aus­schließ­lich auf Linux-Dis­tri­bu­tio­nen nutzbar.

Ein weiterer, nicht ganz un­er­heb­li­cher Nachteil: Kata steht noch ganz am Anfang. Die tech­ni­sche Grundlage ist dennoch viel­ver­spre­chend und kommt bereits viel­sei­tig zum Einsatz.

Wo kommen Kata Con­tai­ners zum Einsatz?

Wie am Anfang erwähnt, hält sich die Community an den Ver­hal­tens­ko­dex der OSF. Darunter fällt auch eine offene Ver­wal­tung des gesamten Projekts und ins­be­son­de­re des Quell­codes. Diese Offenheit ist bestens durch die Ver­bin­dung der beiden in­te­grier­ten und vir­tua­li­sier­ten quell­of­fe­nen Code-Basen gegeben. Zu den vielen Sup­port­ern zählen u. a. Ku­ber­netes, Docker, OCI, CRI, CNI, QEMU, KVM und OpenStack.

Clear Con­tai­ners und runV, die tech­ni­schen Grund­la­gen von Kata Con­tai­ners, werden weltweit von großen Un­ter­neh­men genutzt, z. B. auch von JD.com, einem der um­satz­stärks­ten On­line­shops in China.

Kata Con­tai­ners funk­tio­nie­ren generell da am besten, wo Container gebraucht werden, die nicht nur auf einem einzelnen Kernel laufen sollen. Darunter fallen An­wen­dungs­be­rei­che wie die kon­ti­nu­ier­li­che In­te­gra­ti­on (Con­ti­nuous In­te­gra­ti­on) und Be­reit­stel­lung (Con­ti­nuous Delivery), Edge-Computing, vir­tua­li­sier­te Netz­werk­funk­tio­nen sowie Container als Dienst (CaaS). Ferner ist Kata auch perfekt für Nischen-Im­ple­men­tie­run­gen geeignet, denn so einfach, res­sour­cen­spa­rend, sicher und flexibel ist kein anderer Container.

Zum Hauptmenü