Jakie są główne różnice między popularnymi narzędziami do aranżacji kontenerów kubernetes, rancher i mesos?
Co skłoniłoby cię do wybrania jednego z nich?
containers
tayworm
źródło
źródło
Odpowiedzi:
Po pierwsze, Rancher zawiera w sobie implementacje Kubernetes i Mesos. Jednak stworzyli własny system o nazwie Cattle, który jest w dużej mierze oparty na Docker's Swarm. Poruszę to w części dotyczącej Ranczera.
Po drugie, ponieważ każdy z nich oferuje podobne funkcje podstawowe (równoważenie obciążenia, izolacja zasobów itp.), Postaram się bardziej przyjrzeć temu, co je odróżnia, niż skupiać się na różnicach między tymi wspólnymi cechami, chyba że są znaczące.
Kubernetes
Wysoce skoncentrowany na wydajności, obejmujący także zarządzanie pamięcią masową w chmurze (funkcja brakująca w Mesos, chociaż prawdopodobnie jest do niej wtyczka). Posiada opcje API pozwalające na automatyczne skalowanie zużycia zasobów w zależności od potrzeb poszczególnych kontenerów (i na odwrót, jeśli kontener nie jest mocno uderzany, podczas gdy inne są).
Coś ważnego w Kubernetes polega na tym, że w przeciwieństwie do innych programów do aranżacji kontenerów, nie zapewnia kompleksowej konfiguracji ani żadnego rodzaju kompleksowego samoleczenia. Zamiast tego skupia się na ciągłym wdrażaniu wielu aplikacji za pomocą łatwego systemu wycofywania na poziomie aplikacji (w rezultacie możesz chcieć przyjrzeć się mikrousługom podczas korzystania z niego).
Każda aplikacja jest niewielka i może być wdrażana / konfigurowana indywidualnie. W swoich dokumentach podkreślają, że Kubernetes nie jest tradycyjnym systemem PaaS (platforma jako usługa), ponieważ nie ma w nim oprogramowania pośredniego dla sprzętu wirtualnego ani baz danych i nie tworzy samej aplikacji. Został zaprojektowany, aby (jak mówią sami) wyeliminować potrzebę ręcznej organizacji kontenerów, zamiast zautomatyzować proces poprzez ciągłe naciskanie w kierunku docelowego stanu aplikacji.
Mesos
Monolityczny w porównaniu do Kubernetes. Koncentruje się na większej całości obrazu niż na poszczególnych usługach, chociaż nadal pozwala na zarządzanie poszczególnymi usługami. Zapewnia wbudowane oprogramowanie pośrednie dla takich rzeczy jak Spark, Hadoop itp. Najlepsze wykorzystanie Mesos będzie wymagało wielu wtyczek, ponieważ można je łatwo rozszerzyć.
Jeśli potrzebujesz drobiazgowej kontroli nad zarządzaniem aplikacją (o ile dostępna jest wtyczka do tego, co chcesz zrobić lub masz członka zespołu gotowego ją zbudować, jeśli nie ma), możesz użyć Mesos.
Ranczer (i bydło)
Potencjalnie najlepsza opcja, ponieważ sama jest nadzbiorem dwóch poprzednich, mając implementację obu. Może to być również postrzegane jako wada, ponieważ więcej komplikacji w oprogramowaniu do zarządzania rzadko jest dobrą rzeczą i może prowadzić do nieprzewidzianych problemów.
Rancher zawiera katalog aplikacji, który pozwala na wdrożenie jednym kliknięciem, czego Kubernetes nie ma ze względu na swoją filozofię projektowania. Ponieważ jednak Rancher ma implementację Kubernetes, możesz użyć Rancher, jeśli uważasz, że tych funkcji brakuje w Kubernetes.
Bydło opiera się na systemie stosów, w którym usługi grupuje się razem. Zawiera także Rancher Compose, funkcję podobną do usługi Docker o tej samej nazwie. Jest to prawdopodobnie najciekawsza część bydła, reszta jest dość standardowa (chociaż Tajne zarządzanie jest wciąż w fazie beta). Jeśli masz doświadczenie z Docker Compose, powinieneś przeczytać o tym tutaj (nie mam, więc prawdopodobnie nie jestem najlepszą osobą do pisania na ten temat).
Zasoby: „ Co to jest Kubernetes? ”, „ Przegląd Rancher ”, „ mesos.apache.org:„ Czym jest Mesos? ” „
źródło