Definitionen durchsuchen :
Definition

Kubernetes Pod

Ein Pod ist eine Gruppierung von einem oder mehreren Containern, die zusammen agieren. Pods befinden sich auf den Nodes, den Knoten. Mehrere Pods können denselben Knoten verwenden. Die Container in jedem Pod nutzen gemeinsam Netzwerk- und Speicherressourcen des Hostknotens. Zudem verwenden sie die Spezifikationen, die bestimmen, wie die Container ausgeführt werden. Pod ist ein illustrativer Name, da sie so konzipiert sind, dass sie von Natur aus wie Hülsen funktionieren, wie zum Beispiel eine Erbsenschote. Während ein Pod viele Container umfassen kann, verfügt normalerweise jeder Pod nur über einen Container oder eine kleine Anzahl dicht integrierter Container.

Die Inhalte eines Pods werden zusammen geplant und lokalisiert. Dafür wird ein anwendungsspezifischer logischer Host modelliert. Ein Kubernetes-User sollte zusammen dicht integrierte Anwendungscontainer in einem Pod hosten. Ohne Container müssten diese Anwendungen oder Dienste auf derselben virtuellen oder physischen Maschine ausgeführt werden. Der gemeinsame Kontext eines Pods wird durch entkoppelte Facetten festgelegt, zum Beispiel Linux-Namespaces oder -Cgroups. Für einen einzelnen Pod können einzelne Anwendungen weiter isoliert werden. Der Anwender kann Informationen über den Pod, den Knoten und/oder die Container verfügbar machen, indem er Umgebungsvariablen verwendet. Pod-Umgebungsvariablen teilen der Anwendung in den Containern des Pods mit, wo Ressourcen zu finden sind oder wie eine Komponente konfiguriert werden kann. Diese Information wird während der Laufzeit in den Container eingebracht. Während Knoten auch Umgebungsvariablen enthalten, sind diese für Container nicht zugänglich. Kubernetes-Umgebungsvariablen werden vom Benutzer statisch definiert oder geschrieben.

Kubernetes Pod-Management

Kubernetes unterstützt die Laufzeit des Docker-Containers sowie CoreOS rkt und CRI-O. Sie stehen für das Kubelet Container Runtime Interface, das Laufzeitkonformitäten verwendet, die mit der Open Container Initiative übereinstimmen. Der Benutzer kann zwar Pods kreieren, aber meistens erstellt der Kubernetes Controller Pods und Replikate, die für hohe Verfügbarkeit oder horizontale Skalierung sorgen. Wenn der Benutzer beispielsweise drei neue Instanzen eines Pods anfordert, erstellt Kubernetes drei Pods als Ressourcen auf API-Ebene. Der Scheduler findet den entsprechenden Knoten für jeden Pod, basierend auf den Richtlinien des Kubernetes-Benutzers, und platziert den Pod dort. Container innerhalb eines Pods teilen sich eine gemeinsame IP-Adresse und einen gemeinsamen Speicherplatz. Sie können sich gegenseitig durch einen localhost lokalisieren. Anwendungen, die demselben Pod zugewiesen sind, greifen auf freigegebene Volumes zu, die an den Pod angeschlossen sind. Pods ermöglichen auch die Kommunikation von Containern über andere Standard-Kommunikation wie POSIX Shared Memory oder SystemV-Semaphoren. Container in einem Pod haben unterschiedliche IP-Adressen als Container in anderen. Sie können das IPC-Protokoll nicht verwenden. Die Kubernetes-Pod-zu-Pod-Kommunikation erfolgt jedoch problemlos über Dienste. Wenn sich beispielsweise ein Frontend einer Anwendung in einem Pod auf einem Knoten befindet, kann das Back-End auf demselben Knoten vorkommen, auf einem anderen Knoten oder in 10 Instanzen über verschiedene Knoten verteilt. Der Front-End-Pod stellt eine Verbindung her, ein Dienst, der die Back-End-Pods oder -Pods darstellt.

Wie Pods verwendet werden

In der Kubernetes-Umgebung sind Pods in der Regel zusammen mit Anwendungscontainern kurzlebig. Wenn Anwender einen Pod entwerfen, sollten sie einige Punkte beachten: Weisen Sie ihm eindeutige Identifikations- und Ressourcenanforderungen zu und erlauben Sie dem System, es an einem geeigneten Knoten zu planen, möglicherweise mit Einstellungen bezüglich der Servicequalität. Der Pod verwendet diesen Knoten, bis die Sitzung beendet oder der Pod gelöscht wird. Fällt ein Knoten aus, werden die mit ihm verbundenen Pods nach einer Zeitüberschreitung zum Löschen einplant. Ein einzelner Pod, der durch eine eindeutige Bezeichnung gekennzeichnet ist, wird nicht auf einen neuen Knoten verschoben. Er kann kopiert und durch einen identischen Pod ersetzt werden. Der Benutzer kann denselben Namen und dieselbe ID für den neuen Pod wiederverwenden. Die Roadmap von Kubernetes beinhaltet die Entwicklung einer übergeordneten API zur Migration von Pods, die dieses Problem beseitigen würde.

Diese Definition wurde zuletzt im April 2019 aktualisiert

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close