Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wozu dient der Docker-Cluster?

Wozu dient der Docker-Cluster?

青灯夜游
青灯夜游Original
2022-02-21 16:31:094668Durchsuche

Die Rolle eines Docker-Clusters: Mehrere Docker-Hosts zu einem Ganzen abstrahieren und verschiedene Docker-Ressourcen auf diesen Docker-Hosts über einen Eingang (Cluster-Manager) einheitlich verwalten. Zu den Vorteilen von Docker-Clustern gehören: skalierbare Erweiterung, fortlaufendes Upgrade, schnelle Bereitstellung und Online-Bereitstellung usw.

Wozu dient der Docker-Cluster?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.

Was nützt Docker-Cluster?

Ein Cluster ist eine Gruppe mehrerer Maschinen, auf denen Docker ausgeführt wird und die einer Gruppe hinzugefügt werden. Nach dem Beitritt zum Cluster können Sie weiterhin Ihre eigenen Docker-Befehle ausführen, diese Maschinen werden jedoch jetzt vom Cluster-Manager auf dem Cluster ausgeführt.

Einfach ausgedrückt abstrahiert es mehrere Docker-Hosts zu einem Ganzen und verwaltet verschiedene Docker-Ressourcen auf diesen Docker-Hosts einheitlich über einen Eingang (Cluster-Manager).

Für große Unternehmen bieten Docker-Cluster große Vorteile, darunter skalierbare Erweiterung, fortlaufende Upgrades, schnelle Bereitstellung und Online-Bereitstellung usw.

Der Docker-Container kann Ihr Programm im Linux-System packen und es dann von anderen Programmen isolieren. Dies entspricht der Installation einer Software auf einer virtuellen Maschine, die keine Verbindung zur Software auf dem Computer hat, aber den größten Unterschied darstellt Der Vorteil einer virtuellen Maschine liegt darin, dass ihr Leistungsaufwand besonders gering ist.

Maschinen im Cluster können physisch oder virtuell sein. Nach dem Beitritt zur Gruppe wird jede Maschine als Knoten bezeichnet. Der Cluster-Manager kann unterschiedliche Strategien zum Verwalten laufender Container verwenden, z. B. den leersten Knoten, der zum Füllen der am wenigsten genutzten Container verwendet wird, um sicherzustellen, dass jede Maschine nur eine Instanz des angegebenen Containerdienstes erhalten kann.

Sie können diese Richtlinien in Dateien schreiben, um die Richtlinien des Cluster-Managers auszuführen.

Der Cluster-Manager ist die einzige Maschine im Cluster, die Befehle ausführen kann. Sie können auch andere Maschinen autorisieren, sich der Cluster-Verwaltungsarbeit anzuschließen. Autorisierte Maschinen können nur das tun, was Arbeiter nur dazu da sind, Kapazität bereitzustellen, und können anderen Maschinen nicht sagen, was sie tun oder nicht tun sollen.

Nachdem Docker den Cluster-Modus aktiviert hat, wird Ihr Computer zum Cluster-Manager und die von Docker ausgeführten Befehle dienen der Verwaltung des Clusters und werden nicht nur auf Ihrem aktuellen Computer ausgeführt.

Docker-Cluster-Manager-Swarm

Docker Swarm umfasst zwei Aspekte: einen Docker-Sicherheitscluster auf Unternehmensebene und eine Orchestrierungs-Engine für Mikroservice-Anwendungen.

In Bezug auf Clustering organisiert Swarm einen oder mehrere Docker-Knoten, sodass Benutzer sie in einem Cluster verwalten können.

Swarm verfügt über einen integrierten verschlüsselten verteilten Clusterspeicher, ein verschlüsseltes Netzwerk, öffentliches TLS (Mutual TLS), ein sicheres Cluster-Zugriffstoken (Secure Cluster Join Token) und eine Reihe vereinfachter digitaler Zertifikate, standardmäßig verwaltete PKI (Public Key Infrastructure). Wir können Knoten frei hinzufügen oder löschen.

In Bezug auf die Orchestrierung bietet Swarm einen umfangreichen Satz an APIs, die die Bereitstellung und Verwaltung komplexer Microservice-Anwendungen erleichtern. Indem Sie Ihre Anwendung in einer deklarativen Konfigurationsdatei definieren, können Sie sie mit nativen Docker-Befehlen bereitstellen.

Darüber hinaus können Sie sogar fortlaufende Upgrades, Rollbacks sowie Erweiterungs- und Kontraktionsvorgänge durchführen, die ebenfalls auf der Grundlage einfacher Befehle abgeschlossen werden können.

In der Vergangenheit war Docker Swarm ein eigenständiges Produkt, das auf der Docker-Engine basierte. Seit der Docker-Version 1.12 ist es vollständig in die Docker-Engine integriert und kann durch die Ausführung eines einzigen Befehls aktiviert werden. Bis 2018 wird es in der Lage sein, zusätzlich zu nativen Swarm-Anwendungen auch Kubernetes-Anwendungen bereitzustellen und zu verwalten.

Die Konfigurations- und Statusinformationen von Swarm werden in einer verteilten etcd-Datenbank gespeichert, die sich auf allen Verwaltungsknoten befindet. Die Datenbank wird im Speicher ausgeführt und hält die Daten auf dem neuesten Stand. Das Beste an dieser Datenbank ist, dass sie nahezu keine Konfiguration erfordert, als Teil von Swarm installiert wird und keine Administration erfordert.

Beim Cluster-Management besteht die größte Herausforderung darin, dessen Sicherheit zu gewährleisten. Beim Einrichten eines Swarm-Clusters werden Sie zwangsläufig TLS verwenden, da es eng in Swarm integriert ist.

In der heutigen Zeit des zunehmenden Sicherheitsbewusstseins verdienen Tools wie dieses, energisch gefördert zu werden. Swarm verwendet TLS zur Kommunikationsverschlüsselung, Knotenauthentifizierung und Rollenautorisierung. Die automatische Tastenrotation ist das Tüpfelchen auf dem i! Es arbeitet geräuschlos im Hintergrund und Benutzer bemerken die Existenz dieser Funktion nicht einmal.

In Bezug auf die Anwendungsorchestrierung ist die kleinste Planungseinheit in Swarm ein Dienst. Es wurde mit Swarm eingeführt und ist ein neues Objektelement in der API. Es kapselt einige erweiterte Funktionen basierend auf Containern und ist ein übergeordnetes Konzept. Wenn ein Container in einen Dienst gekapselt ist, nennen wir ihn eine Aufgabe oder eine Kopie. Dem Dienst werden Funktionen wie Erweiterung und Kontraktion, fortlaufendes Upgrade und einfaches Rollback hinzugefügt.

Empfohlenes Lernen: „Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWozu dient der Docker-Cluster?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn