Nvidias GPU Operator soll die Verwaltung von GPUs in Kubernetes erleichtern

Aufbauend auf dem Operator Framework von Kubernetes erlaubt der GPU Operator Entwicklern das automatisierte Management sämtlicher Nvidia-Software-Komponenten.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Nvidias GPU Operator soll die Verwaltung von GPUs in Kubernetes erleichtern

(Bild: Connect world/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Matthias Parbel

Die auf Hybrid-Cloud- und Edge-Umgebungen ausgelegte Software-defined Plattform NVIDIA EGX bietet Entwicklern mit dem GPU Operator eine neue Komponente zur offenbar effizienten automatisierten Verwaltung von GPUs in Kubernetes.

Um das Management der für die Provisionierung von GPUs in Kubernetes notwendigen Softwarekomponenten weitgehend zu automatisieren, greift das Tool auf das Operator Framework der Container-Orchestrierung zurück. Das Framework bildet die Basis für das Deployment von Applikationen über kubectl und die Standard-APIs von Kubernetes.

Um GPU-Ressourcen für den Cluster verfügbar zu machen, mussten Entwickler bisher die erforderlichen Komponenten wie den Treiber, die Container-Runtime, Device Plug-ins und das Monitoring manuell bereitstellen – und auch während des Betriebs des Clusters verwalten. Der quelloffene und auf GitHub frei verfügbare GPU Operator vereinfacht die initiale Bereitstellung und das Management, in dem er sämtliche Komponenten containerisiert und die Kubernetes APIs zur Automatisierung sämtlicher Aufgaben – bis hin zu Versionierung und Upgrades – nutzt.

Der Operator ist als neue Custom-Resource-Definition-API (CRD) mit korrespondierendem Controller angelegt. Er läuft in seinem eigenen Namespace gpu-Operator, während die zugrunde liegenden Nvidia-Komponenten im separaten Namespace gpu-Operator-Ressourcen orchestriert werden. Diesen Namespace überwacht der Operator und nutzt die Reconcile()-Funktion, um State Machines zum Starten der einzelnen Komponenten zu implementieren.

Der GPU Operator bietet automatisiertes Deployment mit containerisierten Komponenten.

(Bild: Nvidia Devblog)

Da der Einsatz des GPU Operator nur auf den mit GPUs ausgestatteten Nodes sinnvoll ist, prüft das Tool zunächst anhand der Node Feature Discovery (NFD) von Kubernetes auf das Vorhandensein der Grafikbeschleuniger, bevor es die Softwarekomponenten startet. Die jetzt vorliegende erste Version des GPU Operator kann nur die von Nvidia bereitgestellten Komponenten Container Runtime, den containerisierten Treiber sowie das Kubernetes Device Plug-in deployen – andere wie das DCGM basierte Monitoring sollen in künftigen Versionen folgen.

Weitergehende Informationen sowie ein Beispiel für die Anwendung des GPU Operator finden sich in der Ankündigung im Nvidia-Developer-Blog. Der Sourcecode steht im GitHub Repository zur Verfügung. Der GPU Operator lässt sich aber auch mit einem Helm Chart über das NGC-Portal starten. (map)