Apache Mesos

Mesos Apache

Führen Sie Microservices mit Apache Mesos und DC/OS aus. Der Apache Mesos Cluster Manager wird von Twitter, airbnb und Apple verwendet. Apache Mesos - Eine Vorstellung von Apache Mesos: Step by Step in der Wolke

Hauptaufgabe von Apache Mesos ist die Einplanung von Controllern im Cloud. Auf den Cloud Nodes werden die Behälter von Mesos sicher und ressourcensparend ausführt. Der Apache Mesos entzieht die Betoninfrastruktur Resourcen wie Computerleistung, Netz oder Speicher. Die Benutzer von Mesos übergeben einfach einen Behälter zur Abarbeitung. Mesos versteckt, ob dies dann in einer lokal installierten Virtual Machine, einer persönlichen oder öffentlich zugänglichen IaaS-Cloud oder auf einem herkömmlichen Server-Rack durchlaufen wird.

Mesos bietet auch Netzwerkkonfigurationen und Speicherhalterungen nach Wunsch an. Es geht darum, mehrere Clients und Applikationen in einem Verbund ebenso komfortabel und effizient wie auf einem dezentralen Computer zu führen, damit die zur Verfügung stehenden Mittel so effizient wie möglich eingesetzt werden können. Das Mesos wurde vom RAD-Labor der University of California entworfen und 2009 erstmals publiziert.

Im Jahr 2011 war Mesos bereits deutlich weiterentwickelt und wurde von Zwitschern angepasst. Inzwischen verlassen sich auch Airbnb, Apple und viele andere auf Mesos und arbeiten so mit Clustern mit mehreren zehntausend Computern. Mesos ist seit 2013 ein Spitzenprojekt der Apache Foundation. Die Abkürzung DC/OS steht für Data Center Operating System. Mit DC/OS wird Mesos als Kernelement um weitere Funktionen ergänzt, mit dem Zielsetzung, ein vollständig funktionierendes, durchgängiges Betriebsystem für die Wolke bereitzustellen.

Es wurde im Aprils 2016 von der Firma Meßosphere unter der Lizenz Apache 2. 0 veröffentlicht und wird unter anderem angeboten: Der Apache Mesos ist ein Clusterplaner. Inwiefern verhält sich Mesos zu einem Cluster-Orchestrator? Auch der Kern des Betriebssystem kennen nur Themen und Abläufe und wissen nichts über sie. Mesos nimmt im Verbund die Funktion des Kerns wahr und übernimmt die Ressourcenverwaltung und -planung.

Meßos versteht Aufgaben als Durchführungseinheit, aber nichts über Applikationen. Zwei Rahmen sind in der Abbildung weiss dargestellt: Als Rahmen dienen Marathon oder Cubernetes im Mesos-Cluster. Auch die zweistufige Planung ist in Mesos integriert. Ebene 1: Der Ressourcenplaner erkennt alle vorhandenen Resourcen und kann sie zuweisen. Mesos verwendet DRF (Dominant Resource Fairness) als Standardalgorithmus.

Es können mehrere Framworks auf einem Mesos-Cluster parallel laufen. In der Box "Mesos-Frameworks kurz vorgestellt" erhalten Sie einen Überblick über herausragende Rahmenbedingungen für Mesos.

Ein längerer Überblick über die Rahmenbedingungen ist in der mesos' Doku zu finden. Der Marathon ist benutzerfreundlich und vollständig in DC/OS aufgesetzt. Sie ist als Metaframework ausgelegt, so dass sie andere Frames wie Chronos kontrollieren kann. Zum jetzigen Stand der Dinge gibt es zum jetzigen Zeitpunkt jedoch noch kein vorgefertigtes Package des kubernetischen Rahmens für Apache Mesos. Mit dem Apache Aurora steht ein Rahmenwerk zur Verfügung, das sowohl lang laufende als auch zeitlich kontrollierte Aufgaben ermöglicht und damit eine echte Alternativlösung zu Marathon und Chronos darstellt.

Durch das Mesos Jenkins Plug-in ist Jenkins in der Lage, alle Chargen und CI-Builds im Verbund zu distribuieren und zu kontrollieren. Bei unseren ersten Schritten mit Mesos wollen wir DC/OS Virtualisierung einführen. Oder Sie können den Schaufenster mit DC/OS auch auf Amazon AWS oder einem anderen Anbieter betreiben.

Die Setup- und Systemanforderungen finden Sie im DC/OS Bereitstellungsleitfaden für DC/OS-Vagranten. Es wird die Community-Version 1.7. 0 von DC/OS verwendet. Außerdem brauchen wir für die Anwendungsbeispiele die DC/OS CLI. Nachdem wir DC/OS Vogelscheu installiert haben, erstellen und betreiben wir einen Clust mit einem Managementknoten, drei Workerknoten und einem Bootstrapknoten: Nach dem Betrieb der Knoten kann die DC/OS-Management-Schnittstelle unter http://m1. dcos/.

In einem weiteren Arbeitsschritt haben wir unser Twitter Showcase auf Mesos gepackt. Es handelt sich um einen JSON, der über den DC/OS CLI oder die Marathon REST API an Marathon gesendet wird. Zur Marathonkonfiguration gibt es eine detaillierte Anleitung auf der Seite der Mesosphäre Github. Da wir Mesos DNS über die DNS-Schnittstelle für die Erkennung des Eureka-Dienstes nutzen wollen, können wir keine Dynamic Port benutzen.

Mesos DNS ist bereits in unserem DC/OS Vagrant Cluster vormontiert. Meßos stellt sicher, daß die Behälter nur auf Knoten mit passenden freien Schnittstellen durchgeführt werden. Jetzt ist es Zeit für einen Kaffe, denn Mesos/Marathon/Docker muss den Behälter downloaden, Instanziierung durchführen und den Mikroservice einrichten. Auch die anderen Dienste können entsprechend bereitgestellt werden, oder es gibt ein kleines Script namens marathon-deploy-all in the intermediate GitHub. sh, das alle Dienste in einem Zug bereitstellt.

Die Anwendungsübersicht in Marathon sieht nach wenigen Augenblicken wie in Bild 6 aus: Der Chirping-Cluster wird nun ausgeführt. Die IP:PORT-Kombination des Knotens wird unter jedem Knoten dargestellt. Im Produktionsbetrieb würden wir einen Loadbalancer einbauen, der die Knoten der Edge Services adressiert. Der DC/OS CLI macht es schnell: Der Ressourcenverbrauch in DC/OS und die Nutzung des Knotens Mesos wählt für die Instanzerhöhung aus.

Mit den anderen Diensten arbeitet es ähnlich, nur die Entdeckung von Eureka selbst verläuft über Mesos-DNS. Um dies zu tun, stellen wir eine Verbindung über vagabundierende ssh zu dem Knoten her, auf dem eine der Eureka-Instanzen ausgeführt wird. Schon nach kurzer Zeit können wir in der Marathon-Benutzeroberfläche erkennen, dass die Installation als heruntergefahren anerkannt wird und eine neue Installation begonnen wird, um das Ziel wieder zu erlangen.

Gleichstrom/OS erwartet, dass der Knoten wieder zugänglich wird. Nachdem eine Nachfrist abgelaufen ist, wird der Knoten gelöscht und die Aufgaben auf dem Knoten werden auf die anderen Knoten aufgeteilt. Wenn der Knoten dann neu gestartet wird, wird er von Mesos nach einer kurzen Zeit automatisch wieder in den Clust eingebunden.

Durch Apache Mesos und DC/OS steht der Wolke ein leistungsstarkes Betriebsystem zur freien Verfügun. Der Twitter Showcase zeigte Ihnen, wie Sie eine Microservice-Applikation auf Mesos einsetzen können. Mesos interagiert auf elegante Weise mit dem vorhandenen Stapel von Andockern und Frühlingswolken. Das Programm kann unveränderlich sein, es muss nicht wissen, dass es auf Mesos ausgeführt wird, und Mesos selbst erledigt seine Arbeit still und wirksam, genau wie man es von einem Kernelement erwarten würde.

Mehr zum Thema