GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied zwischen Containerisierung und Orchestrierung:Der Ausblick eines Laien

Containerisierung und Orchestrierung.

Möglicherweise sind Sie in der DevOps-Welt auf diese beiden Begriffe gestoßen, insbesondere wenn Sie ein Systemadministrator sind.

Es gibt bereits viele Artikel, die versucht haben, den Unterschied zwischen Containerisierung und Orchestrierung zu erklären, aber die meisten von ihnen konzentrieren ihren Vergleich auf Docker und Kubernetes.

Bevor Sie zwischen Software unterscheiden, ist es wichtig, zunächst den Unterschied zwischen ihrem Zweck und dem Grund, warum sie überhaupt entwickelt wurden, zu verstehen.

Daher habe ich in dieser kurzen Lektüre versucht zu untersuchen, was die Begriffe Containerisierung und Orchestrierung eigentlich als Kernkonzepte für Anfänger und Neulinge bedeuten.

Wie können Sie zwischen Containerisierung und Orchestrierung unterscheiden? Lassen Sie uns eine Analogie verwenden.

Ein Laienblick auf Containerisierung und Orchestrierung

Das Wort Container steht für einen großen, isolierten Quader in einer individuellen Umgebung. Diese Container speichern Fracht und werden auf ein Schiff geladen.

Man kann sich das so vorstellen, wie die Container an einem Schiff in einer Werft angedockt sind.

"Docked", "Werft" und "Docker"! Kommen Ihnen diese Begriffe bekannt vor?

Das Wort Orchester steht für eine Gruppe von Musikern, die eine Musiknote in perfekter Synchronisation spielen, unterstützt von einem Dirigenten oder auch Konzertmeister genannt.

Diese perfekt synchronisierte musikalische Harmonie nennt man Orchestrierung.

Wenn Sie es nun aus einer DevOps-Perspektive betrachten und versuchen zu verstehen, wie diese Idee für die Verwaltung von Anwendungen übernommen wurde, die in Computersystemen ausgeführt werden, müssen Sie die Musiker durch Container-„Schiffe“ ersetzen.

Die Anwendungen, die ich hier erwähnt habe, sind sehr vergleichbar mit der Ladung in einem Schiffscontainer.

Sie können sich die Docker-Software also als ein Schiff vorstellen, das mit verschiedenen Containern angedockt ist, auf denen verschiedene Anwendungen ausgeführt werden. Wie dieses Schiff gesteuert wird, hängt vom „Quartiermeister“ ab. Docker containerisiert eine Anwendung so, dass sie als einzelne, isolierte Einheit ausgeführt wird.

So wie ein Quartiermeister dafür verantwortlich ist, Navigation, Steuerung und Signale auf einem Schiff genau im Auge zu behalten, ist Docker für die effiziente Verwaltung der Container verantwortlich, die auf einem Computersystem laufen.

Beachten Sie, dass diese Container einzelne Anwendungen in ihren eigenen isolierten, betriebssystembasierten Umgebungen als virtuelle Maschinen oder physische Server ausführen.

Mehrere Container können auf einer einzelnen virtuellen Maschine oder einem einzelnen Server ausgeführt werden. Sie können sich diese virtuellen Maschinen oder Server als Schiffe vorstellen.

Wie können Sie jetzt Kubernetes auf den gleichen Linien visualisieren? Denken Sie jetzt an mehrere Schiffe.

Jedes dieser Schiffe trägt mehrere Container. Kubernetes orchestriert mehrere virtuelle Maschinen oder Knoten, um in vollständiger Synchronisation miteinander ausgeführt zu werden.

Obwohl der Begriff Kubernetes Steuermann oder Schiffspilot bedeutet, wäre unsere Analogie besser verständlich, wenn wir diesen Begriff auf einen „Hafenmeister“ beziehen.

So wie ein Hafenmeister es schafft, eine Vielzahl von Schiffen zu „orchestrieren“, die einen Schiffshafen ankommen oder verlassen, macht Kubernetes dasselbe, aber mit mehreren virtuellen Maschinen, die verschiedene Container ausführen. Wenn es nur ein Schiff (System) gibt, könnten Sie immer noch dieselbe Analogie für mehrere Container verwenden.

Sie können das Wort „Leistung“ weiterhin verwenden. Aber statt musikalischer Darbietung in einem Orchester oder Flottendarbietung in einem Hafen haben Sie jetzt Systemleistung auf einem Server.

Ich hoffe, Sie können sich jetzt den grundlegenden Unterschied zwischen Containerisierung und Orchestrierung auf physischen Servern klar vorstellen.

Lassen Sie uns auf der Grundlage dieses Verständnisses nun mit einigen einfachen Definitionen für beide abschließen.

Containerisierung

Containerisierung ist die Isolierung von Anwendungen für die Bereitstellung in individuellen Betriebssystemumgebungen in virtuellen Maschinen oder physischen Servern, die im Allgemeinen auch als Knoten bezeichnet werden. Ein Beispiel für ein solches Containerisierungstool ist Docker.

Orchestrierung

Orchestrierung ist die Methode zum Synchronisieren mehrerer Container, die auf mehreren Knoten ausgeführt werden, sowie der Knoten selbst. Diese Knoten können virtuelle Maschinen oder physische Server sein. Ein Beispiel für ein solches Orchestrierungstool ist Kubernetes.

Beachten Sie, dass Kubernetes auch Containerisierung durchführen kann, genau wie Docker Swarm Orchestrierung durchführen kann.

Ich hoffe, Sie finden diesen Artikel nützlich, und jetzt können Sie durch die beschriebene Analogie zwischen den beiden Konzepten unterscheiden. Wenn Sie uns Feedback, Vorschläge oder Kommentare mitteilen möchten, verwenden Sie bitte den Abschnitt unten.


Linux
  1. Unterschied zwischen Login-Shell und Nicht-Login-Shell?

  2. Unterschied zwischen 2>&-, 2>/dev/null, |&, &>/dev/null und>/dev/null 2>&1?

  3. Was ist der Unterschied zwischen Sudo Su – und Sudo Su –?

  4. Unterschied zwischen Eot und Eof?

  5. Unterschied zwischen [0-9], [[:digit:]] und D?

Unterschied zwischen apt und apt-get erklärt

Unterschied zwischen Piping und Befehlserweiterung?

Unterschied zwischen Sudo-Benutzer und Root-Benutzer?

Unterschied zwischen $HOME und '~' (Tilde)?

unterschied zwischen netstat und ss unter linux?

Unterschied zwischen Cgroups und Namespaces