Przygody DevOps-owe…Parser do Logów – Pobieranie logów
Przygody DevOps-owe…Parser do Logów – Pobieranie logów
Kiedy mamy już przygotowany plan jak zbierać logi, trzeba przejść do samego pobierania. Do tego jak już wspomniałem skorzystamy z:
1. k8s endpoint
2. service account z tokenem
3. cluster role + role binding
4. biblioteka reqwest
Żeby pobierać logi (zakładając, że wszystko mamy ustawione) wystarczy wysłać żądanie GET na następujący endpoint:
https://${CLUSTER_IP}/api/v1/namespaces/${NAMESPACE}/pods/{hostname}/log?&tailLines=10&follow×tamps=true
Powyższy URL daje nam dostęp do logów, które dodatkowo zawierają czas. Ale jeszcze wcześniej potrzebujemy inny URL:
https://${CLUSTER_IP}/api/v1/namespaces/${NAMESPACE}/pods/
Ten ostatni link daje nam możliwość listowania podów dla konkretnego namespace. Jest on potrzebny, gdyż w użytkowaniu, zwłaszcza środowisk produkcyjnych często napotykamy sytuacje, w których jest więcej podów aniżeli 1, stąd konstrukcja będzie wyglądać tak: dla każdego poda w konkretnym namespace pobierz logi, które będą zawierać czas.
Narazie taka konfiguracja pozwala nam widzieć logi w czasie rzeczywistym w konsoli aktualnie otwartej.

