DE-112022003720-B4 - VERWENDEN EINES FERNEN PODS IN KUBERNETES
Abstract
Ausführungsformen sind auf die Verwendung von fernen Pods gerichtet. Eine Zwischensoftware wird in einer virtuellen Workerknoten-Maschine instanziiert und verwendet, um zu veranlassen, dass eine virtuelle Pod-Maschine erstellt wird, wobei die virtuelle Pod-Maschine von der virtuellen Workerknoten-Maschine entfernt ist. Ein Overlay-Netz wird zwischen der Zwischensoftware in der virtuellen Workerknoten-Maschine und einem Pod-Speicherbereich in der virtuellen Pod-Maschine aufgebaut. Das Overlay-Netz wird verwendet, um zu veranlassen, dass Container in der virtuellen Pod-Maschine erstellt werden, wobei die virtuelle Workerknoten-Maschine so konfiguriert wird, dass sie das Overlay-Netz zum Verwalten von Übertragungen mit der virtuellen Pod-Maschine verwendet.
Inventors
- Qi Feng Huo
- Xiaojing Liu
- Dan Qing HUANG
- Lei Li
- Da Li Liu
- Yuan Yuan Wang
- YAN SONG LIU
Assignees
- INTERNATIONAL BUSINESS MACHINES CORPORATION
Dates
- Publication Date
- 20260507
- Application Date
- 20220805
- Priority Date
- 20210907
Claims (13)
- Durch einen Computer ausgeführtes Verfahren, das umfasst: Instanziieren einer Zwischensoftware (320) in einer virtuellen Workerknoten-Maschine (310); Verwenden der Zwischensoftware (320), um zu veranlassen, dass eine virtuelle Pod-Maschine (301, 302, 303) erstellt wird, wobei die virtuelle Pod-Maschine (301, 302, 303) nicht in der virtuellen Workerknoten-Maschine (310) verschachtelt ist; Veranlassen, durch die Workerknoten-Maschine, dass ein Overlay-Netz zwischen der Zwischensoftware (320) in der virtuellen Workerknoten-Maschine (310) und einem Pod-Speicherbereich in der virtuellen Pod-Maschine (301, 302, 303) aufgebaut wird; und Zuweisen einer Internetprotokoll-, IP-, Adresse einem Proxynetz-Speicherbereich der virtuellen Workerknoten-Maschine (310); neu Zuweisen, durch die Zwischensoftware (320), der IP-Adresse dem Pod-Speicherbereich; Verwenden des Overlay-Netzes, um zu veranlassen, dass Container (440, 441, 462) in der virtuellen Pod-Maschine (301, 302, 303) erstellt werden, wobei die virtuelle Workerknoten-Maschine (310) so konfiguriert wird, dass sie mit der virtuellen Pod-Maschine (301, 302, 303) unter Benutzung des Overlay-Netzes kommuniziert.
- Durch einen Computer ausgeführtes Verfahren nach Anspruch 1 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie eine isolierte Datenverarbeitungsumgebung (460) auf der virtuellen Workerknoten-Maschine (310) erzeugt.
- Durch einen Computer ausgeführtes Verfahren nach Anspruch 1 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie einen Proxynetz-Speicherbereich in einer isolierten Datenverarbeitungsumgebung auf der virtuellen Workerknoten-Maschine (310) erstellt.
- Durch einen Computer ausgeführtes Verfahren nach Anspruch 1 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie veranlasst, dass ein logisches Netz zwischen einem Proxynetz-Speicherbereich auf der virtuellen Workerknoten-Maschine (310) und dem Pod-Speicherbereich auf der virtuellen Pod-Maschine (301, 302, 303) angeschlossen wird.
- Durch einen Computer ausgeführtes Verfahren nach Anspruch 1 , das des Weiteren als Reaktion auf das Empfangen eines für eine isolierte Datenverarbeitungsumgebung (460) auf der virtuellen Workerknoten-Maschine (310) bestimmten Containers (440, 441, 462) ein Übertragen des Containers (440, 441, 462) an die virtuelle Pod-Maschine (301, 302, 303) umfasst, um dem Pod-Speicherbereich zugeordnet zu werden.
- Durch einen Computer ausgeführtes Verfahren nach Anspruch 5 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie veranlasst, dass eine Softwareanwendung in dem Container (440, 441, 462) auf der virtuellen Pod-Maschine (301, 302, 303) instanziiert wird.
- System, das aufweist: einen Hauptspeicher, der über durch einen Computer lesbare Anweisungen verfügt; und einen oder mehrere Prozessoren, um die durch einen Computer lesbaren Anweisungen auszuführen, wobei die durch einen Computer lesbaren Anweisungen den einen oder die mehreren Prozessoren steuern, um Operationen durchzuführen, die aufweisen: Instanziieren einer Zwischensoftware (320) in einer virtuellen Workerknoten-Maschine (310); Verwenden der Zwischensoftware (320), um zu veranlassen, dass eine virtuelle Pod-Maschine (301, 302, 303) erstellt wird, wobei die virtuelle Pod-Maschine (301, 302, 303) nicht in der virtuellen Workerknoten-Maschine (310) verschachtelt ist; Veranlassen, durch die Workerknoten-Maschine, dass ein Overlay-Netz zwischen der Zwischensoftware (320) in der virtuellen Workerknoten-Maschine (310) und einem Pod-Speicherbereich in der virtuellen Pod-Maschine (301, 302, 303) aufgebaut wird; Zuweisen einer Internetprotokoll-, IP-, Adresse einem Proxynetz-Speicherbereich der virtuellen Workerknoten-Maschine (310); neu Zuweisen, durch die Zwischensoftware (320), der IP-Adresse dem Pod-Speicherbereich; und Verwenden des Overlay-Netzes, um zu veranlassen, dass Container (440, 441, 462) in der virtuellen Pod-Maschine (301, 302, 303) erstellt werden, wobei die virtuelle Workerknoten-Maschine (310) so konfiguriert wird, dass sie mit der virtuellen Pod-Maschine (301, 302, 303) unter Benutzung des Overlay-Netzes kommuniziert.
- System nach Anspruch 7 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie eine isolierte Datenverarbeitungsumgebung (460) auf der virtuellen Workerknoten-Maschine (310) erzeugt.
- System nach Anspruch 7 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie einen Proxynetz-Speicherbereich in einer isolierten Datenverarbeitungsumgebung auf der virtuellen Workerknoten-Maschine (310) erstellt.
- System nach Anspruch 7 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie veranlasst, dass ein logisches Netz zwischen einem Proxynetz-Speicherbereich auf der virtuellen Workerknoten-Maschine (310) und dem Pod-Speicherbereich auf der virtuellen Pod-Maschine (301, 302, 303) angeschlossen wird.
- System nach Anspruch 7 , wobei die Operationen des Weiteren als Reaktion auf das Empfangen eines für eine isolierte Datenverarbeitungsumgebung (460) auf der virtuellen Workerknoten-Maschine (310) bestimmten Containers (440, 441, 462) ein Übertragen des Containers (440, 441, 462) an die virtuelle Pod-Maschine (301, 302, 303) umfassen, um dem Pod-Speicherbereich zugeordnet zu werden.
- System nach Anspruch 11 , wobei die Zwischensoftware (320) so konfiguriert wird, dass sie veranlasst, dass eine Softwareanwendung in dem Container (440, 441, 462) auf der virtuellen Pod-Maschine (301, 302, 303) instanziiert wird.
- Computerprogrammprodukt, umfassend ein von einer Verarbeitungsschaltung lesbares Speichermedium, auf dem Programmanweisungen gespeichert sind, die von der Verarbeitungsschaltung ausgeführt werden, um ein Verfahren gemäß einem der Ansprüche 1 bis 6 durchzuführen.
Description
HINTERGRUND Die vorliegende Erfindung betrifft allgemein Computersysteme und insbesondere durch einen Computer ausgeführte Verfahren, Computersysteme und Computerprogrammprodukte, die zur Verwendung von fernen Pods in Kubernetes konfiguriert und angeordnet werden. Kubernetes, das gemeinhin als K8s bezeichnet wird, ist ein Open-Source-Container-Orchestrierungssystem, um die Bereitstellung, Skalierung und Verwaltung von Computeranwendungen zu automatisieren. Im Einzelnen zielt es darauf ab, eine Plattform bereitzustellen, um die Bereitstellung, die Skalierung sowie Operationen von Anwendungscontainern über Cluster von Hosts hinweg zu automatisieren. Kubernetes arbeitet mit einer Reihe von Container-Tools und führt Container in einem Cluster aus, oftmals mit Images, die mithilfe von Docker erstellt wurden. Bei Docker handelt es sich um eine Reihe von Platform as a service-(PaaS-)Produkten, die Virtualisierung auf Betriebssystem-(OS-)Ebene verwenden, um Software in Paketen bereitzustellen, die als Container bezeichnet werden. Container sind voneinander isoliert und bündeln ihre eigene Software, Bibliotheken und Konfigurationsdateien; Container können durch klar strukturierte Kanäle miteinander kommunizieren. Alle Container können die Services eines einzelnen Betriebssystemkernels gemeinsam nutzen. Die grundlegende Planungseinheit in Kubernetes ist ein Pod. Bei einem Pod handelt es sich um eine Gruppierung von containerisierten Komponenten. Ein Pod umfasst einen oder mehrere Container, bei denen gewährleistet ist, dass sie sich gemeinsam auf demselben Knoten befinden. Viele Cloud-Services bieten eine auf Kubernetes basierende Plattform oder Infrastructure as a Service an, auf der Kubernetes als ein eine Plattform bereitstellender Service eingesetzt werden kann. Ein Scheduler ist die modular aufgebaute Komponente, die basierend auf der Ressourcenverfügbarkeit auswählt, auf welchem Knoten ein nicht geplanter Pod (d.h. die durch den Scheduler verwaltete grundlegende Entität) ausgeführt wird. Der Scheduler verfolgt die Ressourcennutzung auf jedem Knoten, um sicherzustellen, dass die Planung der Workload nicht über die verfügbaren Ressourcen hinaus erfolgt. Zwar sind vorhandene Techniken für Pods mit Containern, die so konfiguriert sind, dass sie eine Softwareanwendung auf einem Knoten in der Cloud starten und ausführen, für ihre vorgesehenen Zwecke geeignet, doch wird ein System benötigt, das über bestimmte Merkmale von Ausführungsformen der vorliegenden Erfindung verfügt. Die US 2020 0 073 692 A1 beschreibt Techniken zum Erstellen mehrerer virtueller Netzwerkschnittstellen, die von einer logisch verbundenen Gruppe aus einem oder mehreren Containern („Pod“) für die Kommunikation in den jeweiligen virtuellen Netzwerken einer Netzwerkinfrastruktur verwendet werden können. In einigen Beispielen umfasst ein Kontrollfluss für die Konfiguration der Pod-Netzwerkschnittstelle auf einem Host das Abrufen einer Liste mehrerer virtueller Netzwerkschnittstellen durch eine CNI-Instanz von einem Agenten eines Netzwerkcontrollers, der auf dem Host ausgeführt wird. Die einzelne CNI-Instanz verarbeitet die Liste mehrerer virtueller Netzwerkschnittstellen, um entsprechende virtuelle Netzwerkschnittstellen für den Pod zu erstellen und für jede der virtuellen Netzwerkschnittstellen die virtuelle Netzwerkschnittstelle an den Pod und an den virtuellen Router oder die Brücke für den Host anzuschließen. Auf diese Weise ermöglicht die einzelne CNI eine paketierte Kommunikation durch Container des Pods über mehrere Netzwerke unter Verwendung der für den Pod konfigurierten mehreren virtuellen Netzwerkschnittstellen. Die US 2021 0 058 327 A1 beschreibt Techniken zum Festlegen eines virtuellen Backend-Netzwerks für einen Dienst-Lastenausgleich. Ein Beispiel für einen Orchestrator ist dabei so konfiguriert, dass er eine Dienstdefinition für einen Dienst empfängt, der durch Lastenausgleich des Dienstverkehrs für den Dienst zwischen einer Vielzahl von virtuellen Backend-Ausführungselementen implementiert wird, wobei die Dienstdefinition ein erstes virtuelles Netzwerk angibt, das als virtuelles Backend-Netzwerk für den Dienst verwendet werden soll, um in einem ausgewählten der Computergeräte ein virtuelles Backend-Ausführungselement für den Dienst zu instanziieren und um auf der Grundlage der Dienstdefinition, die das erste virtuelle Netzwerk angibt, das als virtuelles Backend-Netzwerk für den Dienst verwendet werden soll, einen Netzwerkcontroller für die virtualisierte Rechnerinfrastruktur zu konfigurieren, um einen Lastenausgleicher zu konfigurieren, der den Dienstverkehr auf eine erste virtuelle Netzwerkschnittstelle des virtuellen Backend-Elements für das erste virtuelle Netzwerk ausgleicht. Die US 2021 0 141 655 A1 beschreibt verschiedene Beispiele für die einheitliche Ressourcenverwaltung von Containern und virtuellen Maschinen. Eine podVM-Ressourcenkonfiguration für eine Pod-Virtual Machine (podVM) wird unter Verwendung von Containerkonfigura