Een introductie tot Mesosphere

Wat is Mesosphere

Mesosphere is een softwareoplossing die de clusterbeheermogelijkheden van Apache Mesos uitbreidt met extra componenten om een nieuwe en nieuwe manier te bieden om serverinfrastructuren te beheren. Door het combineren van verschillende componenten met Mesos, zoals Marathon en Chronos, maakt Mesosphere een manier om toepassingen Eenvoudig te schalen door veel van de uitdagingen die gepaard gaan met schalen weg te abstraheren.

Mesosphere biedt functies zoals het plannen van toepassingen, schalen, fouttolerantie en zelfgenezing. Het biedt ook applicatie service ontdekking, poort unificatie, en end-point elasticiteit.

om een beter idee te geven van hoe Mesosphere de bovengenoemde functies biedt, zullen we kort uitleggen wat elk belangrijk onderdeel van Mesosphere doet, te beginnen met Apache Mesos, en laten zien hoe elk wordt gebruikt in de context van Mesosphere.

een basisoverzicht van Apache Mesos

Apache Mesos is een open source Clustermanager die het draaien van applicaties op een schaalbare cluster van servers vereenvoudigt, en is het hart van het Mesosphere systeem.

Mesos biedt veel van de functies die u van een clusterbeheerder zou verwachten, zoals:

  • schaalbaarheid naar meer dan 10.000 nodes
  • Resource isolatie voor taken via Linux Containers
  • efficiënte CPU-en geheugenbewuste resourceplanning
  • hoogst beschikbare master via Apache ZooKeeper
  • Web UI voor monitoring clusterstatus

Mesos-architectuur

Mesos heeft een architectuur die bestaat uit master-en slave-daemons en frameworks. Hier is een snelle uitsplitsing van deze componenten, en enkele relevante termen:

  • Master daemon: draait op een master node en beheert slave daemons
  • Slave daemon: draait op een master node en draait taken die behoren tot frameworks
  • Framework: ook bekend als een Mesos applicatie, is samengesteld uit een scheduler, die zich registreert bij de master om resource aanbiedingen te ontvangen, en een of meer uitvoerders, die taken op slaves start. Voorbeelden van Mesos frameworks zijn Marathon, Chronos en Hadoop
  • aanbieding: een lijst van de beschikbare CPU en geheugenbronnen van een slave node. Alle slave nodes sturen aanbiedingen naar de master, en de master biedt aanbiedingen aan geregistreerde frameworks
  • taak: een eenheid van het werk dat is gepland door een framework, en wordt uitgevoerd op een slave node. Een taak kan van alles zijn, van een bash commando of script, tot een SQL query, tot een Hadoop taak
  • Apache ZooKeeper: software die wordt gebruikt om de master nodes

Mesos architectuur

opmerking: “ZK” vertegenwoordigt ZooKeeper in dit diagram.

deze architectuur staat Mesos toe om de bronnen van het cluster te delen tussen toepassingen met een hoge mate van granulariteit. De hoeveelheid middelen die aan een bepaald framework wordt aangeboden, is gebaseerd op het beleid dat op de master is ingesteld, en de framework scheduler beslist welke van de aanbiedingen te gebruiken. Zodra de framework scheduler beslist welke aanbiedingen het wil gebruiken, vertelt het Mesos welke taken moeten worden uitgevoerd, en Mesos lanceert de taken op de juiste slaves. Nadat taken zijn voltooid en de verbruikte bronnen zijn vrijgemaakt, herhaalt de bronaanbiedingscyclus zich, zodat meer taken kunnen worden gepland.

hoge beschikbaarheid

hoge beschikbaarheid van Mesos-masters in een cluster wordt ingeschakeld door het gebruik van Apache ZooKeeper om de masters te repliceren om een quorum te vormen. ZooKeeper coördineert ook de verkiezing van de leider en behandelt de detectie van de leider tussen Mesos-componenten, waaronder slaven en frameworks.

ten minste drie masterknooppunten zijn vereist voor een zeer beschikbare configuratie-een drie master setup maakt het mogelijk om quorum te behouden in het geval dat een enkele master faalt–maar vijf masterknooppunten worden aanbevolen voor een veerkrachtige productieomgeving, waardoor quorum kan worden gehandhaafd met twee masterknooppunten offline.

voor meer informatie over Apache Mesos, bezoek de officiële documentatie pagina.

een basisoverzicht van Marathon

Marathon is een framework voor Mesos dat ontworpen is om langlopende toepassingen te lanceren en in de mesosfeer dient als vervanging voor een traditioneel init systeem. Het heeft veel functies die het uitvoeren van toepassingen in een geclusterde omgeving vereenvoudigen, zoals hoge beschikbaarheid, knooppuntbeperkingen, statuscontroles van toepassingen, een API voor scriptability en service discovery en een eenvoudig te gebruiken webinterface. Het voegt zijn schaal-en zelfherstellende mogelijkheden toe aan de Mesosphere feature set.

Marathon kan gebruikt worden om andere Mesos frameworks te starten, en het kan ook elk proces starten dat gestart kan worden in de reguliere shell. Aangezien het is ontworpen voor langlopende toepassingen, zal het ervoor zorgen dat toepassingen die het heeft gelanceerd zal blijven draaien, zelfs als de slave node(s) waarop ze draaien mislukt.

voor meer informatie over Marathon, bezoek de GitHub pagina.

een basisoverzicht van Chronos

Chronos is een framework voor Mesos dat oorspronkelijk werd ontwikkeld door Airbnb als vervanging voorcron. Als zodanig is het een volledig uitgeruste, gedistribueerde en fouttolerante planner voor Mesos, die de orkestratie van banen vergemakkelijkt, die verzamelingen van taken zijn. Het bevat een API die het mogelijk maakt voor scripting van het plannen van taken, en een web UI voor gebruiksgemak.

in Mesosphere complimenteert Chronos Marathon omdat het een andere manier biedt om applicaties te draaien, volgens een schema of andere voorwaarden, zoals het voltooien van een andere taak. Het is ook in staat om taken op meerdere Mesos slave nodes te plannen, en biedt statistieken over mislukkingen en successen.

voor meer informatie over Chronos, bezoek de GitHub pagina.

een basisoverzicht van HAProxy

HAProxy is een populaire open source load balancer en reverse proxy oplossing. Het kan in mesosfeer worden gebruikt om netwerkverkeer te routeren van bekende hosts, meestal Mesos masters, naar de werkelijke diensten die worden uitgevoerd op Mesos slave nodes. De service discovery mogelijkheden van Mesos kunnen worden gebruikt om HAProxy dynamisch te configureren om inkomend verkeer te routeren naar de juiste backend slave nodes.

voor meer informatie over de algemene mogelijkheden van HAProxy, Bekijk onze inleiding tot HAProxy.

conclusie

Mesosphere maakt gebruik van server infrastructuur paradigma ‘ s die misschien onbekend lijken, omdat het ontworpen is met een sterke focus op clustering en schaalbaarheid, maar hopelijk heb je nu een goed begrip van hoe het werkt. Elk van de componenten waarop het is gebaseerd biedt oplossingen voor problemen die vaak worden geconfronteerd bij het omgaan met clustering en schalen van een serverinfrastructuur, en Mesosphere streeft naar een complete oplossing voor deze behoeften te bieden.

nu u de basis van Mesosphere kent, kunt u de volgende tutorial in deze serie bekijken. Het zal je leren hoe je een productie-ready Mesosphere cluster op Ubuntu 14.04!

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.