Jump to section

Was ist ein Kubernetes-Pod?

URL kopieren

Ein Kubernetes-Pod ist eine Ansammlung aus einem oder mehreren Linux®-Containern und die kleinste Einheit einer Kubernetes-Anwendung. Pods können aus mehreren eng gekoppelten Containern (fortgeschrittener Use Case) oder aus nur einem einzelnen Container (gängiger Use Case) bestehen. Container werden in Kubernetes-Pods gruppiert, um, wie nachfolgend erläutert, für eine intelligentere Ressourcenverteilung zu sorgen.

Innerhalb des Kubernetes-Systems verwenden Container im gleichen Pod auch dieselben Computing-Ressourcen. Diese wiederum werden dort in Pools oder Clustern zusammengefasst, die ein leistungsstärkeres und intelligenter verteiltes System für die Ausführung von Anwendungen ermöglichen. Es kann zu Beginn schwierig sein, alle Bestandteile von Kubernetes – von Containern über Pods und Nodes bis hin zu Clustern– zu verstehen. Folgende Elemente stellen die Vorteile von Kubernetes-Pods am besten dar:

Hardware-Einheiten

Node: die kleinste Einheit der Computing-Hardware in Kubernetes, die man sich einfach als eine individuelle Maschine vorstellen kann.

Cluster: eine Ansammlung von Nodes, die gruppiert werden, um eine intelligente Ressourcenverteilung zu gewährleisten.

Software-Einheiten

Linux-Container: ein Set aus einem oder mehreren Prozessen, inklusive aller zur Ausführung notwendigen Dateien, die zwischen Rechnern verschoben werden können.

Kubernetes-Pod: eine Ansammlung aus einem oder mehreren Linux-Containern, die in Paketen vorliegen, um alle Vorteile der gemeinsamen Ressourcennutzung via Cluster-Management zu nutzen.

Man kann sagen, dass einzelne Hardware in Kubernetes als Nodes dargestellt wird. Viele dieser Nodes sind in Clustern gruppiert und ermöglichen so eine flexible Verteilung von Rechenleistung je nach Bedarf. Auf diesen Clustern wiederum werden Pods ausgeführt, mit denen sichergestellt wird, dass die in ihnen enthaltenen eng gepackten Container zusammen auf dem gleichen Cluster ausgeführt werden können.

container orchestration illustration

Wettbewerbsvorteile durch eine geeignete Container-Strategie

Die Beziehung zwischen Pods und Clustern ist der Grund, warum Container in Kubernetes nicht direkt ausgeführt werden. Mithilfe von Pods wird sichergestellt, dass jeder enthaltene Container dieselben Ressourcen und dasselbe Netzwerk verwendet. Diese Art der Container-Gruppierung ermöglicht ihre Kommunikation untereinander, als würden sie dieselbe physische Hardware verwenden, während sie bis zu einem gewissen Grad doch voneinander isoliert bleiben.

Die Organisation von Containern in Pods ist die Grundlage für eine der bekanntesten Funktionen von Kubernetes: die Replikation. Denn dadurch kann Kubernetes Replikations-Controller verwenden und Anwendungen flexibel horizontal skalieren. Wenn also ein einzelner Pod überlastet ist, kann Kubernetes diesen automatisch replizieren und im Cluster bereitstellen. Kubernetes-Pods unterstützen ein einwandfreies Funktionieren zu Spitzenzeiten. Häufig werden sie außerdem kontinuierlich repliziert und bieten so Schutz vor Systemausfällen.

Die Nutzung wiederverwendbarer Elemente – wie von Pods – ist einer der Hauptvorteile des Kubernetes-Systems. Es kann viele Jahre dauern, die besten Einsatzmöglichkeiten von Kubernetes in Produktionsumgebungen herauszufinden. Das sind Jahre, die die meisten Organisationen im Zeitalter der schnellen Bereitstellung cloudnativer Anwendungen einfach nicht haben.

Allerdings basiert Kubernetes auf offenen Standards, und so haben sich in den Versuchsphasen der sogenannten „Early Adopters" Patterns oder Muster für Erfolg (und Misserfolg) herauskristallisiert. Dieser Patterns bieten replizierbare Designs, die viele Organisationen bei einer frühzeitigen Einführung von neuen Technologien unterstützt.

Das von den Autoren Bilgin Ibryam und Roland Huß veröffentlichte und über O’Reilly bereitgestellte Werk Kubernetes patterns: Reusable elements for designing cloud-native applications liefert eine detaillierte Präsentation gängiger wiederverwendbarer Elemente, Patterns, Prinzipien und Praktiken für das Design und die Implementierung cloudnativer Anwendungen auf Kubernetes.

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