Jump to section

Was ist die Kubernetes-API?

URL kopieren

Die Kubernetes-API ist das Frontend der Kubernetes-Steuerungsebene und steuert die Interaktion der Nutzer mit dem Kubernetes-Cluster. Der API-Server bestimmt, ob eine Anfrage gültig ist, und verarbeitet sie dann.

Kurz gesagt, die API ist die Schnittstelle, mit der Kubernetes-Cluster verwaltet, erstellt und konfiguriert werden. Über die API können Nutzer, externe Komponenten und Teile Ihres Clusters miteinander kommunizieren.

Das Zentrum der Kubernetes-Steuerungsebene sind der API-Server und die HTTP-API, damit Sie Abfragen senden und so den Zustand von Kubernetes-Objekten ändern können. 

Kennen Sie unsere Video-Serie "Technically speaking"? Sehen Sie sich Folge 4 an: Kubernetes and the quest for a control plane

Um den gesamten Kontext der Kubernetes-API verstehen zu können, müssen wir erst einmal herausfinden, was Kubernetes eigentlich ist. 

Kubernetes ist eine Open Source-Plattform zur Container-Orchestrierung. Container sind eine Technologie, mit deren Hilfe Sie Apps zusammen mit ihrer gesamten Runtime-Umgebung bündeln und isolieren können. Dadurch wird es einfacher, die enthaltene Anwendung zwischen den Phasen (Entwicklung, Produktion etc.) und Umgebungen (On-Premise, Public Cloud, Private Cloud, Hybrid Cloud oder Multi-Cloud) zu bewegen, und zwar bei kontinuierlicher und vollständiger Funktionalität. 

Mit einer Container-Orchestrierungsplattform wie Kubernetes lassen sich also viele manuelle Prozesse zur Verwaltung, Bereitstellung und Skalierung containerisierter Apps automatisieren.

Indem Sie die Rechner (als „Nodes" bezeichnete physische oder virtuelle Server), die die containerisierten Apps ausführen, gruppieren, erstellen Sie einen Cluster, den Sie dann mit Kubernetes verwalten und orchestrieren.

Eine Gruppe von Containern, die auf einem einzelnen Rechner oder Node ausgeführt werden und Ressourcen teilen, nennt man „Pod". Allerdings kann ein Pod auch ein einzelner Container sein, der dann aber auch als „Container" bezeichnet wird.

Ein Kubernetes-Cluster besteht aus zwei Komponenten: der Steuerungs- und der Anwendungsebene. Auf der Steuerungsebene befindet sich die API, über die der Nutzer mit dem Cluster interagiert. Mit kubectl (einem Befehlszeilen-Tool) gibt er Anweisungen, was in der Befehlszeile geschehen soll. Über die API können Endnutzer, der Cluster selbst und externe Komponenten miteinander kommunizieren. 

Alle Cluster verfügen über einen „gewünschten Zustand" (Desired State). Mit diesem wird festgelegt, welche Apps oder Workloads auszuführen sind, aber beispielsweise auch, welche Bilder zu verwenden sind und welche Ressourcen benötigt werden. Der gewünschte Zustand eines Clusters wird über die API eingestellt. Dies erfolgt entweder über das erwähnte Tool kubectl oder per Interaktion mit dem Cluster über die API, um den Desired State einzustellen oder auch zu ändern.

Kubernetes verwaltet Ihren Cluster automatisch so, dass er dem gewünschten Zustand entspricht.Kubernetes ist deklarativ und versucht stets, sich basierend auf den Parametern für die Workloads selbst zu verwalten bzw. ihren Zustand zu korrigieren.

Ein Kubernetes Operator ist eine Methode zur Paketierung, Bereitstellung und Verwaltung einer Anwendung über eine API mit kubectl. 

Ein Kubernetes Operator ist ein anwendungsspezifischer Controller, der die Funktionalität der Kubernetes-API erweitert, damit Instanzen komplexer Anwendungen im Namen des Nutzers erstellt, konfiguriert und verwaltet werden können. Ein solcher Operator enthält domain- oder app-spezifische Informationen, damit Kubernetes den gesamten Lifecycle der von ihm gemanagten Software automatisieren kann.

Als führendes Unternehmen in Sachen Open Source und Container sowie als Entwickler zahlreicher Tools und Produkte zur Verwaltung der Containerinfrastruktur weiß Red Hat, was zu tun ist, wenn Sie Kubernetes und Container in Ihr Unternehmen integrieren möchten.

Mit Red Hat® OpenShift® erhalten Sie eine unternehmensfähige Containerplattform, die auf Open Source basiert und alle notwendigen Funktionen zur Verwaltung von Hybrid und Multi-Cloud-Bereitstellungen enthält. Wir können Ihnen beim Wechsel Ihres Unternehmens zur Cloud helfen, während sie gleichzeitig Ihre aktuelle Infrastruktur optimal nutzen können. 

Auf einem Teil dieser integrierten Plattform können die Entwickler Sprache, Middleware, Frameworks und Datenbanken wählen, während gleichzeitig automatisierte Prozesse eingesetzt werden, um die Effizienz und Produktivität zu verbessern. 

Weiterlesen

ARTIKEL

Vergleich zwischen Containern und VMs

Linux-Container und virtuelle Maschinen (VMs) sind paketierte Computing-Umgebungen, die verschiedene IT-Komponenten vereinen und vom Rest des Systems isolieren.

ARTIKEL

Was ist Container-Orchestrierung?

Mithilfe der Container-Orchestrierung werden Deployment, Management, Skalierung und Vernetzung von Containern automatisiert.

ARTIKEL

Was ist ein Linux-Container?

Ein Linux-Container besteht aus Prozessen, die vom System isoliert sind und auf einem eigenen Image ausgeführt werden, das alle benötigten Dateien zur Unterstützung der Prozesse bereitstellt.

Mehr über Container erfahren

Produkte

Eine Plattform, die es Ihnen ermöglicht, Unternehmensanwendungen schnell und effizient über die von Ihnen gewünschte Infrastruktur bereitzustellen.

Ressourcen

Training

Kostenloser Trainingskurs

Running Containers with Red Hat Technical Overview

Kostenloser Trainingskurs

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Kostenloser Trainingskurs

Developing Cloud-Native Applications with Microservices Architectures