Glossar

Kubernetes

Entdecke, wie Kubernetes KI-Workflows optimiert und nahtlose Skalierung, Selbstheilung und effiziente Modellbereitstellung für Cloud-natives Computing ermöglicht.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Kubernetes ist eine Open-Source-Plattform zur Container-Orchestrierung, die die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen automatisieren soll. Ursprünglich von Google entwickelt, wird Kubernetes heute von der Cloud Native Computing Foundation (CNCF) gepflegt und hat sich zum Industriestandard für die Verwaltung moderner, Cloud-nativer Workloads entwickelt.

Die wichtigsten Merkmale von Kubernetes

Kubernetes bietet eine breite Palette von Funktionen, die die Verwaltung komplexer Anwendungen in verteilten Umgebungen vereinfachen:

  • Container-Orchestrierung: Kubernetes plant und verwaltet Container automatisch in einem Cluster von Maschinen und sorgt so für eine optimale Ressourcenauslastung.
  • Skalierung: Kubernetes unterstützt sowohl die manuelle als auch die automatische Skalierung von Anwendungen auf Basis von CPU, Speicher oder benutzerdefinierten Metriken.
  • Selbstheilung: Es überwacht den Zustand der Anwendungen und startet oder ersetzt ausgefallene Container automatisch, um die Systemstabilität zu erhalten.
  • Load Balancing: Kubernetes verteilt den Netzwerkverkehr auf mehrere Container, um hohe Verfügbarkeit und zuverlässige Leistung zu gewährleisten.
  • Speicherverwaltung: Es unterstützt verschiedene Speicher-Backends, wie z. B. lokalen Speicher, Cloud-basierten Speicher und Netzwerk-Dateisysteme, um die Anforderungen der Anwendung zu erfüllen.

Eine Einführung in die Containerisierung findest du auf der Docker-Glossar-Seite.

Kubernetes in KI und maschinellem Lernen

Kubernetes spielt eine entscheidende Rolle in KI- und Machine-Learning-Workflows, bei denen die Verwaltung verteilter, ressourcenintensiver Aufgaben unerlässlich ist. Es vereinfacht die Bereitstellung komplexer Systeme wie Pipelines für maschinelles Lernen und gewährleistet Skalierbarkeit und Zuverlässigkeit.

Beispiel 1: Training eines Machine Learning Modells

Kubernetes kann verwendet werden, um das verteilte Training von Machine-Learning-Modellen auf mehreren GPU-fähigen Knoten zu verwalten. Ein Team, das zum Beispiel ein Deep-Learning-Modell mit PyTorch trainiert, kann seine Trainingsaufträge als Kubernetes-Pods bereitstellen. Dies gewährleistet eine effiziente Ressourcenzuweisung und ermöglicht eine dynamische Skalierung der Trainingsprozesse auf der Grundlage der Arbeitslastanforderungen. Erfahre mehr über verteiltes Training und wie Kubernetes es ermöglicht.

Beispiel 2: Einsatz des Modells

Kubernetes wird häufig für den Einsatz von Machine-Learning-Modellen in der Produktion verwendet. Zum Beispiel kann ein Modell zur Objekterkennung, das mit Ultralytics YOLO trainiert wurde, in Containern unter Kubernetes bereitgestellt werden. Durch Funktionen wie Rolling Updates und Replikation, die Ausfallzeiten minimieren und die Zuverlässigkeit des Dienstes aufrechterhalten, wird eine hohe Verfügbarkeit gewährleistet.

Kubernetes vs. Verwandte Technologien

Während sich Kubernetes durch die Orchestrierung von Containern auszeichnet, konzentrieren sich Technologien wie Docker auf die Containerisierung selbst. Docker bietet die Grundlage für die Erstellung und den Betrieb von Containern, während Kubernetes diese Container in großem Maßstab orchestriert und verwaltet. Für ein tieferes Verständnis erforsche den Unterschied zwischen Containerisierung und Orchestrierung.

Ein weiteres verwandtes Konzept ist das serverlose Computing, das die Verwaltung der Infrastruktur vollständig abstrahiert. Im Gegensatz zu Kubernetes skalieren serverlose Plattformen die Ressourcen automatisch auf der Grundlage ereignisgesteuerter Auslöser, ohne dass der Nutzer eingreifen muss. Erfahre mehr über Serverless Computing.

Anwendungen in der realen Welt

Kubernetes wird in verschiedenen Branchen eingesetzt, um die Effizienz von KI- und Machine-Learning-Workflows zu verbessern:

  • Gesundheitswesen: Kubernetes ermöglicht den Einsatz medizinischer Bildanalysemodelle, wie sie in der medizinischen Bildanalyse beschrieben sind, indem es Skalierbarkeit und Zuverlässigkeit bei der Verarbeitung großer Datensätze gewährleistet.
  • Autonome Fahrzeuge: Kubernetes unterstützt die skalierbare Bereitstellung von Anwendungen in autonomen Fahrzeugpipelines, wie sie in KI für selbstfahrende Autos beschrieben werden.
  • Einzelhandel: Im Einzelhandel unterstützt Kubernetes Modelle zur Objekterkennung in Echtzeit wie Ultralytics YOLO um die Bestandsverwaltung zu optimieren und das Kundenerlebnis zu verbessern.

Erste Schritte mit Kubernetes

Wer Kubernetes für KI-Projekte nutzen möchte, kann Tools wie Ultralytics HUB für nahtloses Modelltraining und -einsatz mit Kubernetes integrieren. Außerdem vereinfachen Plattformen wie Google Kubernetes Engine (GKE) und Amazon Elastic Kubernetes Service (EKS) die Verwaltung von Kubernetes-Clustern.

Wenn du mehr über den Einsatz von KI-Modellen in großem Maßstab erfahren möchtest, schau dir den Leitfaden für den Einsatz von Modellen an.

Kubernetes ermöglicht es Unternehmen, KI-Workloads effektiv zu verwalten und zu skalieren, und ist damit ein Eckpfeiler des modernen, Cloud-nativen Computings. Die robusten Funktionen und die weite Verbreitung von Kubernetes stellen sicher, dass es ein wichtiges Werkzeug für die KI- und Machine-Learning-Community bleiben wird.

Alles lesen