Container: Red Hat bringt schlanke Runtime für Kubernetes
Meet CRI-O: Die neue Kubernetes-Runtime von Red Hat soll das Arbeiten mit Containern leichtgewichtiger werden lassen, indem Container direkt aus Kubernetes ohne zusätzlichen Code oder Tooling gestartet werden können.
- Björn Bohn
Red Hat hat CRI-O veröffentlicht. Das Ergebnis des OCID-Projekts baut damit auf dem aus Kubernetes bekannten Container Runtime Interface (CRI) auf, das es Kubeletes (ein Cluster-Node-Agent der dazu verwendet wird, Pods zu erstellen und Container zu starten) ermöglicht, unterschiedliche Container Runtimes zu verwenden, ohne Kubernetes erneut kompilieren zu müssen. CRI-O geht einen Schritt weiter und schafft das direkte Verwenden von OCI-kompatiblen (Open Container Initiative) Containern in Kubernetes, ohne zusätzlichen Code oder Tooling.
Vor der Einführung von CRI war Kubernetes an spezifische Container-Runtimes gebunden, was einen erheblichen Aufwand für die Community bedeutete. Mit CRI wurde Kubernetes Runtime-unabhängig. Mit CRI-O (ein Kofferwort aus CRI und OCI) fokussiert Red Hat jetzt spezifisch OCI-kompatible Container. Aktuell unterstützt es runC- und Clear-Container-Runtimes, sollte aber theoretisch jede Art von OCI-Runtime handhaben können.
Wenn Kubernetes einen Container starten will, spricht es zunächst CRI-O an, das dafür sorgt, dass der Container startet. Dasselbe Spiel funktioniert ebenfalls beim Stoppen – ohne zusätzlichen Arbeitsaufwand für den Anwender. Die folgende Grafik gibt einen detaillierten Überblick über die genauen Vorgänge.
(Bild: Red Hat)
CRI-O konzentriert sich dabei ganz auf die Aufgabe, Container ohne große Umschweife zu starten und zu stoppen. Wer Images erstellen will, muss immer noch mit dem Buildah oder OpenShifts Source-to-Image arbeiten. Ebenfalls besitzt CRI-O zwar ein Command Line Interface, das jedoch nur für das Testen von CRI-O selbst gedacht ist und nicht zum Verwalten von Containern in einer Produktionsumgebung. (bbo)