Kubernetes jest rozliczany jako „planista / koordynator ” klastra kontenerów, ale nie mam pojęcia, co to oznacza. Po przeczytaniu witryny Kubernetes i (niejasnej) wiki GitHub, najlepsze, co mogę powiedzieć, to to, że w jakiś sposób określa, jakie maszyny wirtualne są dostępne / mogą obsługiwać twój kontener Docker, a następnie wdraża je tam. Ale to tylko moje przypuszczenie i nie widziałem w ich dokumentacji żadnego konkretnego słownictwa, które by to potwierdzało.
Czym dokładnie jest Kubernetes i jakie konkretne problemy rozwiązuje?
docker
kubernetes
smeeb
źródło
źródło
Odpowiedzi:
Celem Kubernetes jest ułatwienie organizacji i planowania aplikacji w całej flocie maszyn. Na wysokim poziomie jest to system operacyjny dla twojego klastra.
Zasadniczo pozwala nie martwić się o to, na jakim konkretnym komputerze w centrum danych działa każda aplikacja. Ponadto zapewnia ogólne prymitywy do sprawdzania kondycji i replikowania aplikacji na tych maszynach, a także usługi do łączenia aplikacji z mikrousługami, dzięki czemu każda warstwa aplikacji jest oddzielona od innych warstw, dzięki czemu można je skalować / aktualizować / utrzymywać niezależnie.
Chociaż można zrobić wiele z tych rzeczy w warstwie aplikacji, takie rozwiązania są zwykle jednorazowe i kruche, znacznie lepiej jest rozdzielić obawy, gdy system orkiestracji martwi się, jak uruchomić aplikację, a ty martwisz się o kod, który tworzy Twoją aplikację.
źródło
Jak czytasz na jego stronie Github :
Dla mnie Kubernetes to narzędzie do orkiestracji kontenerów od Google. Ze względu na jego konstrukcję można zaimplementować kompatybilność z dowolnym silnikiem kontenera, ale myślę, że teraz jest to ograniczone do Dockera. W jego architekturze jest kilka ważnych pojęć:
Masz więc grupę maszyn, która tworzy klaster, w którym są uruchamiane kontenery. Możesz także zdefiniować grupę kontenerów, które dostarczają usługi, w podobny sposób jak robisz to z innymi narzędziami, takimi jak fig (np. Webapp pod może być serwerem railsowym i bazą danych postgres). Masz również inne narzędzia, które zapewniają kilka kontenerów / zasobników usługi działającej w tym samym czasie, magazyn klucz-wartość, rodzaj wbudowanego modułu równoważenia obciążenia ...
Jeśli wiesz coś o coreos, to bardzo podobne rozwiązanie, ale od Google. Algo Kubernetes ma dobrą integrację z Google Cloud Engine.
źródło
Kubernetes zapewnia prawie taką samą funkcjonalność jak interfejsy API Infrastructure as a Service, ale jest ukierunkowana na dynamicznie planowane kontenery zamiast maszyn wirtualnych i jako systemy Platform as a Service, ale z większą elastycznością, w tym:
Jeśli korzystasz już z innych mechanizmów wykrywania usług, tajnej dystrybucji, równoważenia obciążenia, monitorowania itp., Możesz oczywiście nadal z nich korzystać, ale naszym celem jest ułatwienie przejścia na Kubernetes z istniejących systemów IaaS i PaaS, zapewniając to funkcjonalność.
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do
źródło