Úvod do Mezosféra

Co je Mezosféra

Mezosféra je softwarové řešení, které rozšiřuje clusteru možnosti správy Apache Mesos s další součásti poskytnout nový a neotřelý způsob, jak spravovat server infrastruktury. Kombinací několika komponent s Mesos, jako je Marathon a Chronos, Mesosphere umožňuje způsob, jak snadno škálovat aplikace tím, že odstraní mnoho výzev spojených s škálováním.

Mesosphere poskytuje funkce, jako je plánování aplikací, škálování, odolnost proti chybám a samoléčení. Poskytuje také zjišťování aplikačních služeb, Sjednocení portů a elasticitu koncového bodu.

dát lepší představu o tom, jak Mezosféra poskytuje výše uvedené funkce, budeme stručně vysvětlit, co každý klíčovou součástí Mezosféra, počínaje Apache Mesos, a ukázat, jak každý z nich je použit v souvislosti s Mezosférou.

Základní Přehled o Apache Mesos

Apache Mesos je open source správce clusteru, které zjednodušuje spuštěné aplikace na škálovatelné clusteru serverů, a je srdcem Mezosféra systému.

Mesos nabízí mnoho funkcí, které byste očekávali od správce klastrů, například:

  • Škálovatelnost více než 10 000 uzly
  • Zdroj izolace pro úkoly prostřednictvím Linuxových Kontejnerů
  • Efektivní využití CPU a paměti-aware plánování zdrojů
  • Vysoce dostupné mistr přes Apache ZooKeeper
  • Webové ROZHRANÍ pro sledování stavu clusteru

Mesos Architektury

Mesos je to architektura, která se skládá z master a slave démonů, a rámce. Zde je rychlý rozpis těchto komponent a některé relevantní termíny:

  • Master daemon: běží na hlavním uzlu a spravuje slave démony
  • Slave daemon: běží na master uzlu a spustí úlohy, které patří do rámce
  • Framework, známý také jako Mesos aplikace, se skládá z plánovače, který registruje s master přijímat zdrojů nabízí, a jeden nebo více exekutorů, který spustí úlohy na otroky. Mezi příklady rámců Mesos patří Marathon, Chronos a Hadoop
  • nabídka: seznam dostupných zdrojů procesoru a paměti slave uzlu. Všechny podřízené uzly odesílají nabídky master a master poskytuje nabídky registrovaným rámcům
  • úkol: jednotka práce, která je naplánována rámcem a je prováděna na podřízeném uzlu. Úkol může být cokoliv, od bash příkaz nebo skript, do dotazu SQL, Hadoop práci
  • Apache ZooKeeper: software, který se používá ke koordinaci hlavní uzly

Mesos Architektury

Poznámka: „ZK“ představuje Ošetřovatel v tomto diagramu.

tato architektura umožňuje společnosti Mesos sdílet zdroje klastru mezi aplikacemi s vysokou úrovní granularity. Množství zdrojů nabízených konkrétnímu rámci je založeno na zásadách nastavených na master a plánovač rámce rozhoduje, kterou z nabídek použít. Jakmile framework scheduler rozhodne, které nabídky chce použít, řekne Mesos, které úkoly by měly být provedeny, a Mesos spustí úkoly na příslušných otrocích. Po dokončení úkolů a uvolnění spotřebovaných zdrojů se cyklus nabídky zdrojů opakuje, takže lze naplánovat více úkolů.

Vysoká Dostupnost

Vysoká dostupnost Mesos masters v clusteru je povoleno pomocí Apache ZooKeeper replikovat mistrů tvoří kvorum. ZooKeeper také koordinuje volby hlavního vůdce a zpracovává detekci vůdce mezi komponenty Mesos, včetně otroků a rámců.

alespoň tři hlavní uzly jsou potřebné pro vysoce dostupné konfigurace–tři master setup umožňuje kvora musí být zachována v případě, že jeden mistr selže–ale pět hlavní uzly jsou doporučené pro pružné výrobní prostředí, což umožňuje kvora musí být zachována s dva hlavní uzly v režimu offline.

Další informace o Apache Mesos naleznete na jeho oficiální stránce dokumentace.

Základní Přehled o Maraton

Maraton je rámec pro Mesos, který je navržen tak, aby spustit dlouho běžící aplikace, a, v Mezosféře, slouží jako náhrada za tradiční init systém. To má mnoho funkcí, které zjednodušují běh aplikací v clusterovém prostředí, jako je vysoká dostupnost, uzel omezení, aplikace, kontroly, API pro scriptability a service discovery, a snadno použitelné webové uživatelské rozhraní. Přidává své škálování a samoléčebné schopnosti do sady funkcí mezosféry.

Marathon lze použít ke spuštění dalších rámců Mesos a může také spustit jakýkoli proces, který lze spustit v běžném shellu. Protože je určen pro dlouhodobé aplikace, zajistí, že aplikace, které spustil, budou pokračovat v běhu, i když slave uzel(Y), na kterých běží, selže.

Pro více informací o Marathon, navštivte jeho stránku GitHub.

Základní Přehled o Chronos

Chronos je rámec pro Mesos, který byl původně vyvinut Airbnb jako náhrada za cron. Jako takový je plně vybavený, distribuovaný a odolný proti chybám plánovač pro Mesos, který usnadňuje orchestraci úloh, které jsou sbírkami úkolů. Obsahuje API, které umožňuje skriptování plánovacích úloh, a webové uživatelské rozhraní pro snadné použití.

V mezosféře Chronos komplimenty Marathon, protože poskytuje jiný způsob, jak spustit aplikace, podle plánu nebo jiných podmínek, jako je dokončení jiného zaměstnání. Je také schopen naplánovat úlohy na více uzlech Mesos slave a poskytuje statistiky o neúspěších a úspěších.

pro více informací o Chronos, navštivte jeho stránku GitHub.

základní přehled HAProxy

HAProxy je populární open source load balancer a reverzní proxy řešení. Může být použit v mezosféře pro směrování síťového provozu od známých hostitelů, typicky Mesos masters, ke skutečným službám, které běží na uzlech Mesos slave. Funkce zjišťování služeb Mesos lze použít k dynamické konfiguraci HAProxy pro směrování příchozího provozu na správné uzly backend slave.

Pro více informací o obecných možnostech HAProxy, podívejte se na náš úvod do HAProxy.

Závěr

Mezosféra zaměstnává server infrastruktury paradigmat, které se může zdát neznámé, jak byl navržen se silným zaměřením na clustering a škálovatelnost, ale doufejme, že teď máte dobrou představu jak to funguje. Každý komponent je založen na poskytuje řešení problémů, které se běžně potýkají při jednání s clustering a škálování serveru infrastruktury, a Mezosféra si klade za cíl poskytnout kompletní řešení těchto potřeb.

Nyní, když znáte základy mezosféry, podívejte se na další tutoriál v této sérii. Naučí vás, jak nastavit Mesosphere cluster připravený na výrobu na Ubuntu 14.04!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.