Jak ogonić dzienniki w kubectl

Jak ogonić dzienniki w kubectl
W przypadku orkiestracji kontenerowej Kubernetes stał się standardem branżowym. Zapewnia potrzebną abstrakcję do pomyślnego administrowania na dużą skalę systemów kontenerowych z wyraźnymi konfiguracją, prostą metodą wdrażania i zdolności skalowalności. Jak każdy inny system, dzienniki pozwalają programistom na uzyskanie widoczności w kontenerach i klastrach Kubernetes, na których działają, a ich znaczenie jest jasne w wielu awariach Kubernetes. Jednak Kubernetes przedstawia wyraźny zestaw problemów z rejestracją. Dzienniki aplikacji mogą pomóc w ustaleniu, co się dzieje w Twojej aplikacji. Dzienniki są bardzo pomocne w rozwiązywaniu problemów i śledzenia działań klastrów. Funkcja rejestrowania jest obecna w prawie wszystkich aktualnych programach. Silniki kontenerowe również są zbudowane do obsługi rejestrowania. Publikowanie do standardowych strumieni błędów i standardowych strumieni błędów jest najprostszą i najczęściej używaną opcją rejestrowania aplikacji kontenerowych. Te dzienniki pokazują, co się dzieje i mogą być przydatne do debugowania problemów z węzłami głównymi. Niestety, te dzienniki nie można przeglądać za pomocą polecenia Kubectl; Zamiast tego należy je oglądać bezpośrednio z komputera. Może być konieczne bezpośrednio ssh w węźle, w zależności od tego, gdzie hostujesz komputer. To zrozumienie pozwala obserwować relacje między tymi zasobami a konsekwencjami jednego działania na drugim. W tym przewodniku sprawdzamy różne sposoby dzienników ogona w Kubectl. Aby wykonać cały ten proces, wykorzystujemy Ubuntu 20.04 LTS. Zainstalowaliśmy i założyliśmy klaster minikupowy. Ponadto Kubectl jest już zainstalowany i skonfigurowany w naszym systemie.

Podstawowe logowanie w Kubernetes z kapsułkami

Początkowo musimy utworzyć plik konfiguracyjny dla POD za pomocą polecenia „dotyk”. Nazwali to „dzienniki.YAML ”.

Po wykonaniu plik można zobaczyć w katalogu domowym systemu.

Dzienniki z działającego kapsuły są zdecydowanie najbardziej normalną rzeczą, na którą chcesz spojrzeć. Polecenie Kubectl zawiera operację dziennika, która zapewnia wgląd w Twoje działające strąki i oferuje różne opcje szybkiego uzyskania tego, czego potrzebujesz. Na poniższych ilustracjach użyję podstawowego kontenera, który co sekundę drukuje znacznik czasu. Nazwaliśmy go „przykładem” (wyświetlone w wierszu #7)

Użyj następującego polecenia, aby uruchomić ten POD:

$ kubectl Utwórz dzienniki -f.Yaml

Wyjście przedstawia, że ​​zostało ono utworzone. Rzućmy okiem na dzienniki po wdrożeniu tego kapsuła. Możemy to zrobić, używając polecenia Kubectl Log, które powinno wytworzyć następujące dane wyjściowe. Nie będziesz musiał uzyskiwać dostępu do węzłów w klastrze, jeśli użyjesz Kubectl do pobierania dzienników. Kubectl może jednocześnie wyświetlać dzienniki jednego kapsuły.

Teraz wykonaj poniższe polecenie jako:

$ Kubectl Log Przykład

Podstawowe logowanie w Kubernetes z wdrożeniami

Początkowo musimy utworzyć plik konfiguracyjny dla wdrażania za pomocą polecenia „dotyk”. Nazwaliśmy to „wdrożemlog.YAML ”.

Po wykonaniu plik można zobaczyć w katalogu domowym systemu. Poniżej znajduje się deskryptor wdrażania:

Użyj następującego polecenia w Ubuntu 20.04 Terminal do uruchomienia tego wdrożenia:

$ kubectl Utwórz -f wdrażanie.Yaml

Wyjście przedstawia, że ​​zostało ono utworzone. Każdy kapsuł. Użyj wdrożenia dziennika Kubectl/przykład, aby śledzić wszystkie te różne kapsuły i ich dzienniki generujące. Niestety, wybierze to tylko jeden ze strąków. Istnieje jednak technika do zbadania wszystkich. Spójrz na wspomniane polecenie i wykonaj je w Ubuntu 20.04 Terminal:

$ kubectl logs -f -l app = przykład

Flaga „-L” pozwala filtrować wyniki według etykiety. Widzieliśmy niektóre z naszych kapsułek wdrażania, ponieważ oznaczyliśmy je etykietą przykładową. Flaga „-F” następnie wyświetla dane wyjściowe z tych strąków. Musimy utrzymać liczbę dzienników do minimum teraz, kiedy je otrzymaliśmy. Jeśli domyślnie wybierzesz jeden POD, wyświetli wszystko. Jeśli używasz selektora do wyboru kilku kapsułów, wytworzy on tylko 10 linii na POD, jak pokazano w poniższym poleceniu przedstawionym na załączonym obrazie.

Jeśli używasz wyboru i chcesz więcej dzienników na POD niż ostatnie dziesięć, po prostu podnieś numer „-Tail” do odpowiedniej ilości dzienników. Jeśli tylko wyprowadzisz, dzienniki kapsułów są zgrupowane. Nie łączy wyników. Teraz wykonaj poniższe polecenie w terminalu.

$ Kubectl Logs -C Przykład

Flaga „-C” określa, z którego kontenera dzienniki należy uzyskać. Teraz wykonaj dołączone wyświetlone polecenie w skorupce.

$ Kubectl Logs -przykładowy przykład

Wiadomości dziennika są często na końcu, a znacznik czasu jest na początku, jak widać z powyższego przykładu. Może to pomóc w ustaleniu, skąd pochodzi wiadomość dziennika, a kiedy się wydarzyło, szczególnie jeśli tekst dziennika nie ma zintegrowanego znacznika czasu. Flaga „-Timestamp” na poleceniu Kubectl przedrostek każdego rekordu za pomocą znacznika czasu.

Wniosek

Ogólnie rzecz biorąc, dzienniki ogona Kubernetes zawierają wiele informacji dotyczących zdrowia klastra i aplikacji. „Kubectl Logs” jest dobre do rozpoczęcia pracy z Kubernetes, ale szybko pokazuje swoje ograniczenia. Mamy nadzieję, że ten przewodnik pomógł ci bardziej zapoznać się z instrukcją dziennika Kubectl i pomoże ci w przejrzeniu dzienników w klastrze Kubernetes.