2016-08-26 11 views
8

Próbowałem dowiedzieć się, co się dzieje, gdy master Kubernetes zawiedzie w klastrze, który ma tylko jednego mastera. Czy żądania sieciowe nadal są kierowane do strączków, jeśli tak się stanie, czy też cały system jest wyłączony?Co się stanie, gdy mistrz Kubernetes zawiedzie?

Zgodnie z dokumentacją OpenShift 3, która jest zbudowana na bazie Kubernetes, (https://docs.openshift.com/enterprise/3.2/architecture/infrastructure_components/kubernetes_infrastructure.html), w przypadku awarii systemu głównego, węzły nadal działają prawidłowo, ale system traci zdolność zarządzania strąkami. Czy to samo dotyczy wanilii Kubernetes?

Odpowiedz

14

Rozumiem, że master uruchamia interfejs API, a teraz (od wersji 1.3?) Zarządza podstawową infrastrukturą chmury. Gdy jest offline, interfejs API będzie w trybie offline, więc klaster przestanie być klastrem, a zamiast tego będzie wiązał się z węzłami ad-hoc w tym okresie. Klaster nie będzie w stanie reagować na awarie węzłów, tworzyć nowych zasobów, przenosić kapsuły do ​​nowych węzłów itp. Do momentu powrotu mastera do trybu online.

Jednak w każdym przypadku życie aplikacji będzie normalne, chyba że wystąpi dramatyczna awaria w tym czasie, * lub węzły zostaną ponownie uruchomione, ponieważ usługi TCP/UDP, load balancers, DNS, dashboard, itp. Powinien wszystkie nadal działać.

Po pewnym odczycie wygląda na to, że zapytania DNS mogą nie zostać poprawnie wykonane, jeśli węzeł zostanie ponownie uruchomiony w tym czasie. Zdecydowanie nie zalecamy ponownego uruchamiania węzłów w tym okresie, jeśli obawiasz się, że Twoje usługi są nadal dostępne.

Jeśli chcesz przetestować niektóre z nich samodzielnie, dostępne jest przydatne narzędzie o nazwie minikube, którego możesz użyć do "wypróbowania przed zakupem". Pamiętaj, że (jeśli jesteś z przyszłości), że Kubernetes ciągle się zmienia, a ta odpowiedź może nie być prawdziwa w czasie, gdy jesteś.

+0

Zniszczyłeś mistrza wiele razy, nie likwidując działających aplikacji. – manojlds

+2

Dzięki za informacje! Czy z czystej ciekawości, w jaki sposób Kubernetes wysyła zapytania między węzłami w klastrze? W jaki sposób żądania są wprowadzane do klastra, jeśli nie ma centralnego komputera, który wskaże adres DNS? –

+0

Praca w sieci działa inaczej, w zależności od miejsca rozmieszczenia zasobów, ale zazwyczaj rzeczą, która kieruje ruch do usługi w klastrze, jest mechanizm równoważenia obciążenia, który dostawca usługi w chmurze zapewnia jako usługę. W związku z tym pakiety są kierowane do klastra, niezależnie od działania komponentu kernernetes. W przypadku NodePort, publiczny adres IP dowolnego węzła zapewnia punkt wejścia dla ruchu. Stamtąd routing staje się nieco bardziej skomplikowany; http://kubernetes.io/docs/admin/networking/ – pnovotnak

Powiązane problemy