Niewątpliwie wpadłeś na straszne CrashLoopbackoff, jeśli użyłeś Kubernetes (K8s). Kilka form błędów konfiguracji K8S może skutkować CrashLoopbacofoff. CrashLoopbackaff odnosi się do strąka, który rozpoczyna się, rozbija i ponownie uruchamia. CrashLoopbackoff występuje, gdy program w kontenerze nie powiedzie. Program w pojemniku może zakończyć się z kilku powodów. Może próbujesz uruchomić serwer, który nie załaduje powiązanego pliku konfiguracyjnego. Być może próbujesz wdrożyć aplikację, która ulega awarii ze względu na niemożność połączenia się z inną usługą. Kubernetes wielokrotnie ponownie uruchamia kapsułkę, próbując odzyskać z problemów CrashLoopbackoff i chociaż jest coś głęboko nie tak z twoim programem, że prosty resetowanie tego nie naprawi. Prawie przez cały czas będziesz musiał poprawić swój obraz lub aplikację, którą próbujesz wykonać.
Przyczyny stanu CrashLoopbackoff w Kubernetes
CrashLoopbackaff jest okropny, ponieważ jest to pojemnik, który zawiera dużą liczbę błędów, które są starannie zamaskowane pod tym samym warunkiem błędu. W klastrze może być skonfigurowane wiele tajemnic Kubernetes. Bieżący limit pamięci ustawiony w Secret Watcher Kapd jest niewystarczający do zarządzania tajemnicami Kubernetes. Z powodu braku pamięci Kubernetes zniszczył kapsułkę. Sprawdzanie strąków w stanie CrashLoopbackoff jest porównywalne z badaniem kapsuł w stanie toczącego się. Mimo to może wymagać dodatkowego zrozumienia obciążenia kontenerowego, które tworzysz.
Ale na razie pomożemy Ci w zarządzaniu stanem Kubernetes CrashLoopbackofff.
Wymagania wstępne
Aby zarządzać CrashLoopbackoff w Kubernetes, użyliśmy Ubuntu 20.04 System operacyjny. Możesz jednak użyć dowolnego innego z preferowanych rozkładów Linuksa. Ponadto, aby uruchomić usługę Kubernetes w systemie operacyjnym Linux, musisz zainstalować na niej klaster minikupowy.
Metoda przeglądania i zarządzania stanem CrashLoopbackoff
Teraz nadszedł czas, aby uruchomić terminal dystrybucji Linuksa. To zadanie jest najprostsze. Możesz go otworzyć, odwiedzając sekcję aplikacji i przeszukując ją lub używając najczęstszego klawisza skrótu „Ctrl+alt+t”. Sprawdzając dowolną z tych metod, będziesz mógł uruchomić terminal wiersza poleceń. Po uruchomieniu terminalu wiersza poleceń musisz uruchomić klaster minikube; Musisz wpisać poniżej cytowane polecenie w powładzie wiersza polecenia w tym konkretnym celu. Naciśnij klawisz „Wprowadź” dla jego wykonania.
$ minikube start
Dostanie dane takie same, jak pokazano na wyżej wymienionym obrazie. Pokaże wersję klastra minikube. Możesz go również zaktualizować zgodnie z Twoimi wymaganiami. Cały ten proces potrwa kilka minut, więc proszę, nie rezygnuj z terminala; W przeciwnym razie proces zostanie zakończony i będziesz musiał go ponownie rozpocząć. Teraz musisz wyświetlić wszystkie przestrzenie nazw za pomocą polecenia Kubectl. Wykonaj zatem popularne polecenie, aby to sprawdzić.
$ kubectl Pobierz przestrzeń nazw
W wyniku tego polecenia możesz sprawdzić status, wiek i nazwy przestrzeni nazw. Teraz najważniejszym krokiem jest tutaj, który jest niezbędny dla przewodnika. Musisz sprawdzić status kapsuł, które mogą być albo „uruchamiające”, „nieudane” lub „CrashLoopbackoff”. Aby wyświetlić ich status, musisz uruchomić poniżej cytowane polecenie w terminalu.
$ kubectl get PODS
Możesz wyświetlić status POD z wykonania polecenia, jeśli potrzebujesz pełnych informacji o POD za pomocą następującego dołączonego polecenia.
$ kubectl opisz Pod
Wyjście tego polecenia ma ogromne znaczenie. Pokaże ci główny powód „CrashLoopbackoff” i nieudanych strąków. Analizując powód, możesz go łatwo naprawić. Załóżmy, że mamy kapsułkę ze statusem „CrashLoopbackoff”, możesz uzyskać jego informacje, wykonując to polecenie. Pomoże ci to naprawić.
$ kubectl get pods -namespace nginx -crashloop
Out wyświetli pełne informacje dotyczące tego POD.
Wniosek
W tym samouczku próbowaliśmy wyjaśnić podstawową koncepcję Kubernetes „CrashLoopbackoff”. Ponadto opracowaliśmy, jak zobaczyć jego status i jak go naprawić. Mam nadzieję, że teraz możesz łatwo zarządzać „CrashLoopbackoff” w Kubernetes.