Was sind Orchestratoren?
Das entkoppelte Design von Microservices in Verbindung mit der Unteilbarkeit von Containern ermöglicht das Aufskalieren von Apps und die Reaktion auf eine höhere Nachfrage durch das Bereitstellen zusätzlicher Containerinstanzen sowie das Herunterskalieren, wenn die Nachfrage abnimmt. In komplexen Lösungen geht der Prozess der Bereitstellung, Aktualisierung, Überwachung und Entfernung von Containern mit gewissen Herausforderungen einher.
Containerverwaltung
Die Containerverwaltung ist der Prozess zum Organisieren, Hinzufügen, Entfernen oder Aktualisieren einer großen Anzahl von Containern.
Die Website des Outdoor-Ausrüstungsunternehmens besteht aus mehreren Microservices, die für Aufgaben wie Zwischenspeicherung, Datenverarbeitung und einen Einkaufswagen zuständig sind. Alle Dienste werden in einem Container gehostet und können unabhängig voneinander bereitgestellt, aktualisiert und skaliert werden.
Um die Anzahl der Containerinstanzen eines Warenkorbs zu erhöhen und eine neue Version bereitzustellen, müssen Sie jede einzelne Instanz dieses Containers aktualisieren.
Die Containerverwaltung unterstützt Sie bei diesen Aufgaben.
Containerorchestrierung
Ein Containerorchestrator ist ein System, das Container-Apps automatisch bereitstellt und verwaltet. Der Orchestrator kann beispielsweise dynamisch auf Änderungen in der Umgebung reagieren, um die Anzahl der bereitgestellten Instanzen der verwalteten App zu erhöhen oder zu verringern. Der Orchestrator kann auch sicherstellen, dass alle bereitgestellten Containerinstanzen aktualisiert werden, wenn eine neue Version eines Diensts veröffentlicht wird.
Kubernetes
Kubernetes ist eine portier- und erweiterbare Open-Source-Plattform zum Verwalten und Orchestrieren von Workloads in Containern. Kubernetes abstrahiert komplexe Containerverwaltungsaufgaben und bietet Ihnen eine deklarative Konfiguration, mit der sich Container in verschiedenen Computeumgebungen orchestrieren lassen. Diese Orchestrierungsplattform ist genauso benutzerfreundlich und flexibel, wie Sie es möglicherweise bereits von Platform-as-a-Service(PaaS)- und Infrastructure-as-a-Service(IaaS)-Angeboten kennen.
Vorteile
Die Vorteile von Kubernetes liegen in der Abstraktion von Aufgaben.
Diese Aufgaben sind:
- Die Selbstreparatur von Containern; z. B. das Neustarten ausgefallener Containern oder das Ersetzen von Containern.
- Dynamische Auf- oder Abskalierung der Anzahl der bereitgestellten Container unter Berücksichtigung des Bedarfs.
- Automatisierung rollierender Updates und Rollbacks von Containern
- Speicherverwaltung
- Verwaltung des Netzwerkdatenverkehrs
- Die Speicherung und Verwaltung vertraulicher Informationen wie Benutzernamen und Kennwörtern.
Da Kubernetes ein Tool zum Orchestrieren von containerisierten Workloads ist und Sie .NET-Microservices in Containern bereitstellen können, können Sie zum Orchestrieren Ihrer .NET-Microservices Kubernetes verwenden. Das werden Sie im weiteren Verlauf dieses Moduls lernen.