En introduktion til Mesosphere

Hvad er Mesosphere

Mesosphere er en programløsning, der udvider klyngestyringsfunktionerne i Apache Mesos med yderligere komponenter for at give en ny og ny måde at styre serverinfrastrukturer på. Ved at kombinere flere komponenter med Mesos, såsom Marathon og Chronos, Mesosphere muliggør en måde at let skalere applikationer ved at abstrahere mange af de udfordringer, der er forbundet med skalering.

Mesosphere giver funktioner som applikationsplanlægning, skalering, fejltolerance og selvhelbredelse. Det giver også ansøgning tjeneste opdagelse, havn forening, og slutpunkt elasticitet.

for at give en bedre ide om, hvordan mesosfæren giver de ovennævnte funktioner, vil vi kort forklare, hvad hver nøglekomponent i mesosfæren gør, begyndende med Apache Mesos, og vise, hvordan hver bruges i forbindelse med mesosfæren.

en grundlæggende oversigt over Apache Mesos

Apache Mesos er en open source cluster manager, der forenkler at køre applikationer på en skalerbar klynge af servere og er hjertet i Mesosfæresystemet.

Mesos tilbyder mange af de funktioner, som du ville forvente fra en cluster manager, såsom:

  • skalerbarhed til over 10.000 noder
  • Ressourceisolering til opgaver gennem containere
  • effektiv CPU og hukommelsesbevidst ressourceplanlægning
  • meget tilgængelig master gennem Apache dyrepasser
  • internet UI til overvågning af klyngetilstand

Mesos arkitektur

Mesos har en arkitektur, der er sammensat af master-og slavedæmoner og rammer. Her er en hurtig oversigt over disse komponenter og nogle relevante udtryk:

  • Master daemon: kører på en master node og administrerer slave daemons
  • Slave Daemon: kører på en masternode og kører opgaver, der hører til rammer
  • rammer: også kendt som en Mesos-applikation, består af en planlægger, der registrerer sig hos masteren for at modtage ressourcetilbud, og en eller flere eksekutorer, der lancerer opgaver på slaver. Eksempler på Mesos-rammer inkluderer Marathon, Chronos og Hadoop
  • Tilbud: en liste over en slaveknudes tilgængelige CPU-og hukommelsesressourcer. Alle slave noder sende tilbud til master, og master giver tilbud til registrerede rammer
  • opgave: en enhed af arbejde, der er planlagt af en ramme, og udføres på en slave node. En opgave kan være alt fra en bash kommando eller script, til en forespørgsel, til en Hadoop job
  • Apache dyrepasser: program, der bruges til at koordinere master noder

Mesos arkitektur

Bemærk: “HK” repræsenterer dyrepasser i dette diagram.

denne arkitektur gør det muligt for Mesos at dele klyngens ressourcer blandt applikationer med et højt granularitetsniveau. Mængden af ressourcer, der tilbydes til en bestemt ramme, er baseret på den politik, der er sat på masteren, og rammeplanlæggeren beslutter, hvilke af tilbudene der skal bruges. Når rammeplanlæggeren beslutter, hvilke tilbud den vil bruge, fortæller den Mesos, hvilke opgaver der skal udføres, og Mesos lancerer opgaverne på de relevante slaver. Når opgaver er afsluttet, og de forbrugte ressourcer frigøres, gentages ressourcetilbudscyklussen, så flere opgaver kan planlægges.

høj tilgængelighed

høj tilgængelighed af Mesos-mestre i en klynge er aktiveret ved hjælp af Apache-dyrepasser til at replikere mestrene for at danne et beslutningsdygtigt antal. Dyrepasser koordinerer også master leader valg og håndterer leder afsløring blandt Mesos komponenter, herunder slaver og rammer.

Der kræves mindst tre masternoder til en meget tilgængelig konfiguration-en tre masteropsætning gør det muligt at opretholde kvorum i tilfælde af, at en enkelt master mislykkes–men fem masternoder anbefales til et elastisk produktionsmiljø, der gør det muligt at opretholde kvorum med to masternoder offline.

For mere om Apache Mesos, besøg dens officielle dokumentationsside.

en grundlæggende oversigt over Marathon

Marathon er en ramme for Mesos, der er designet til at starte langvarige applikationer, og i Mesosphere fungerer som erstatning for et traditioneltinit system. Det har mange funktioner, der forenkler kørende applikationer i et grupperet miljø, såsom høj tilgængelighed, knudebegrænsninger, applikationssundhedskontrol, en API til scriptbarhed og serviceopdagelse og en brugervenlig brugergrænseflade til internettet. Det tilføjer dets skalering og selvhelbredende evner til Mesosphere-funktionssættet.

Marathon kan bruges til at starte andre Mesos-rammer, og det kan også starte enhver proces, der kan startes i den almindelige skal. Da den er designet til langvarige applikationer, vil den sikre, at applikationer, den har lanceret, fortsætter med at køre, selvom slaveknudepunktet(erne), de kører på, mislykkes.

For mere om Marathon, besøg GitHub-siden.

en grundlæggende oversigt over Chronos

Chronos er en ramme for Mesos, der oprindeligt blev udviklet af Airbnb som erstatning forcron. Som sådan er det en fuldt udstyret, distribueret og fejltolerant planlægger for Mesos, hvilket letter orkestrering af job, som er samlinger af opgaver. Det omfatter en API, der giver mulighed for scripting af planlægning job, og en internet UI for brugervenlighed.

i Mesosphere komplimenterer Chronos Marathon, da det giver en anden måde at køre applikationer på i henhold til en tidsplan eller andre forhold, såsom afslutningen af et andet job. Det er også i stand til at planlægge job på flere Mesos slave noder, og giver statistik om job fiaskoer og succeser.

For mere om Chronos, besøg GitHub-siden.

en grundlæggende oversigt over Haproksy

Haproksy er en populær open source load balancer og omvendt fuldmægtig løsning. Det kan bruges i mesosfæren til at dirigere netværkstrafik fra kendte værter, typisk Mesos mestre, til de faktiske tjenester, der kører på Mesos slave noder. Mesos serviceopdagelsesfunktioner kan bruges til dynamisk at konfigurere Haproksi til at dirigere indgående trafik til de rigtige backend-slaveknudepunkter.

For mere om de generelle muligheder for Haproksy, tjek vores Introduktion til Haproksy.

konklusion

Mesosphere anvender serverinfrastrukturparadigmer, der kan virke ukendte, da det blev designet med et stærkt fokus på klyngedannelse og skalerbarhed, men forhåbentlig har du nu en god forståelse af, hvordan det fungerer. Hver af de komponenter, den er baseret på, giver løsninger på problemer, der ofte står over for, når man beskæftiger sig med klyngedannelse og skalering af en serverinfrastruktur, og Mesosphere sigter mod at give en komplet løsning på disse behov.

nu hvor du kender det grundlæggende i Mesosphere, skal du tjekke den næste tutorial i denne serie. Det vil lære dig, hvordan du opretter en produktionsklar Mesosphere-klynge på Ubuntu 14.04!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.