Wprowadzenie do mezosfery

czym jest Mezosfera

Mesosphere To rozwiązanie programowe, które rozszerza możliwości zarządzania klastrami Apache Mesos o dodatkowe komponenty, aby zapewnić nowy i nowatorski sposób zarządzania infrastrukturą serwerową. Dzięki połączeniu kilku komponentów z Mezos, takich jak Marathon i Chronos, Mesosphere umożliwia łatwe skalowanie aplikacji poprzez abstrakcję wielu wyzwań związanych ze skalowaniem.

Mesosphere zapewnia funkcje takie jak planowanie aplikacji, skalowanie, odporność na błędy i samoleczenie. Zapewnia również wykrywanie usług aplikacji, unifikację portów i elastyczność punktu końcowego.

aby lepiej zrozumieć, w jaki sposób Mezosfera zapewnia wyżej wymienione cechy, krótko wyjaśnimy, co robi każdy kluczowy składnik mezosfery, zaczynając od mezosfery Apache i pokażemy, jak każdy z nich jest używany w kontekście mezosfery.

podstawowy przegląd Apache Mesos

Apache Mesos to menedżer klastrów open source, który upraszcza uruchamianie aplikacji na skalowalnym klastrze serwerów i jest sercem systemu Mesosphere.

Mesos oferuje wiele funkcji, których można oczekiwać od menedżera klastrów, takich jak:

  • skalowalność do ponad 10 000 węzłów
  • izolacja zasobów dla zadań za pomocą kontenerów Linuksowych
  • efektywne planowanie zasobów procesora i pamięci
  • wysoce dostępny master poprzez Apache ZooKeeper
  • interfejs WWW do monitorowania stanu klastra

Architektura Mesos

Mesos ma architekturę, która składa się z demonów master i slave oraz frameworków. Poniżej znajduje się krótki podział tych komponentów i kilka istotnych pojęć:

  • Master daemon: działa na głównym węźle i zarządza demonami slave
  • Slave daemon: działa na węźle głównym i uruchamia zadania należące do frameworków
  • Framework: znany również jako aplikacja Mesos, składa się z harmonogramu, który rejestruje się z master, aby otrzymywać oferty zasobów, i jednego lub więcej executorów, który uruchamia zadania na plikach podrzędnych. Przykłady frameworków Mezos to Marathon, Chronos i Hadoop
  • oferta: lista dostępnych zasobów procesora i pamięci węzła slave. Wszystkie węzły slave wysyłają oferty do master, a master dostarcza oferty do zarejestrowanych frameworków
  • zadanie: jednostka pracy zaplanowana przez framework i wykonywana na węźle slave. Zadanie może być dowolne, od polecenia bash lub skryptu, przez zapytanie SQL, po zadanie Hadoop
  • Apache ZooKeeper: oprogramowanie używane do koordynowania węzłów głównych

Architektura Mezos

Uwaga: „ZK” reprezentuje ZooKeeper na tym diagramie.

ta architektura pozwala Mezos dzielić zasoby klastra między aplikacje o wysokim poziomie ziarnistości. Ilość zasobów oferowanych poszczególnym frameworkom opiera się na zasadach ustalonych na master, a harmonogram frameworków decyduje o tym, która z ofert ma zostać użyta. Gdy scheduler frameworku zdecyduje, które oferty chce użyć, mówi Mesosowi, które zadania powinny zostać wykonane, a Mesos uruchamia zadania na odpowiednich niewolnikach. Po zakończeniu zadań i zwolnieniu zużytych zasobów cykl oferty zasobów powtarza się, dzięki czemu można zaplanować więcej zadań.

wysoka dostępność

wysoka dostępność Mezos masterów w klastrze jest możliwa dzięki użyciu Apache ZooKeeper do replikacji masterów w celu utworzenia kworum. ZooKeeper koordynuje również wybory lidera głównego i obsługuje Wykrywanie lidera wśród elementów Mezos, w tym niewolników i RAM.

co najmniej trzy główne węzły są wymagane do wysoce dostępnej konfiguracji-trzy główne pozwalają na utrzymanie kworum w przypadku awarii jednego głównego–ale pięć głównych węzłów jest zalecanych dla odpornego środowiska produkcyjnego, umożliwiając utrzymanie kworum przy dwóch głównych węzłach w trybie offline.

aby uzyskać więcej informacji o Apache Mesos, odwiedź oficjalną stronę dokumentacji.

podstawowy przegląd Marathon

Marathon jest frameworkiem dla mezosfery, który jest przeznaczony do uruchamiania długotrwałych aplikacji, a w Mezosferze służy jako zamiennik tradycyjnego systemuinit. Posiada wiele funkcji, które upraszczają uruchamianie aplikacji w środowisku klastrowym, takich jak wysoka dostępność, ograniczenia węzłów, sprawdzanie stanu aplikacji, API do skryptowania i wykrywania usług oraz łatwy w użyciu interfejs użytkownika www. Dodaje swoje możliwości skalowania i samoleczenia do zestawu funkcji mezosfery.

Marathon może być użyty do uruchomienia innych frameworków Mezos, a także może uruchomić dowolny proces, który można uruchomić w zwykłej powłoce. Ponieważ jest przeznaczony do długotrwałych aplikacji, zapewni, że uruchomione przez niego aplikacje będą nadal działać, nawet jeśli węzły podrzędne, na których działają, zawiodą.

aby dowiedzieć się więcej o Marathon, odwiedź stronę GitHub.

podstawowy przegląd Chronos

Chronos jest frameworkiem dla Mezos, który został pierwotnie opracowany przez Airbnb jako zamiennikcron. W związku z tym jest to w pełni funkcjonalny, rozproszony i odporny na błędy harmonogram dla Mezos, który ułatwia orkiestrację zadań, które są zbiorami zadań. Zawiera API, które pozwala na Skrypty zadań planowania i interfejs WWW dla łatwości użytkowania.

w Mezosferze Chronos komplementuje Maraton, ponieważ zapewnia inny sposób uruchamiania aplikacji, zgodnie z harmonogramem lub innymi warunkami, takimi jak ukończenie innej pracy. Jest również w stanie zaplanować zadania na wielu węzłach slave Mezos i zapewnia statystyki dotyczące niepowodzeń i sukcesów.

aby dowiedzieć się więcej o Chronos, odwiedź stronę GitHub.

podstawowy przegląd HAProxy

HAProxy jest popularnym rozwiązaniem open source load balancer i odwrotnego proxyingu. Może być używany w Mezosferze do kierowania ruchu sieciowego od znanych hostów, zazwyczaj Mezos master, do rzeczywistych usług, które działają na węzłach slave Mezos. Możliwości wykrywania usług Mesos można wykorzystać do dynamicznej konfiguracji HAProxy do kierowania ruchu przychodzącego do odpowiednich węzłów podrzędnych zaplecza.

aby uzyskać więcej informacji na temat ogólnych możliwości HAProxy, sprawdź nasze wprowadzenie do HAProxy.

podsumowanie

Mesosphere wykorzystuje paradygmaty infrastruktury serwerowej, które mogą wydawać się nieznane, ponieważ zostały zaprojektowane z silnym naciskiem na klastrowanie i skalowalność, ale mam nadzieję, że teraz dobrze rozumiesz, jak to działa. Każdy z komponentów, na których jest oparty, zapewnia rozwiązania problemów, z którymi często borykają się podczas klastrowania i skalowania infrastruktury serwerowej, a Mesosphere ma na celu zapewnienie kompletnego rozwiązania tych potrzeb.

teraz, gdy znasz podstawy mezosfery, zapoznaj się z kolejnym tutorialem z tej serii. Nauczy Cię, jak skonfigurować gotowy do produkcji Klaster mezosfery na Ubuntu 14.04!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.