kubectl logs <pod-id>
pobiera najnowsze dzienniki z mojego wdrożenia - pracuję nad błędem i jestem zainteresowany poznaniem dzienników w czasie wykonywania - jak mogę uzyskać ciągły strumień dzienników?
edycja: poprawione pytanie na końcu.
kubectl logs <pod-id>
pobiera najnowsze dzienniki z mojego wdrożenia - pracuję nad błędem i jestem zainteresowany poznaniem dzienników w czasie wykonywania - jak mogę uzyskać ciągły strumień dzienników?
edycja: poprawione pytanie na końcu.
kubectl logs -f <pod-id>
Możesz użyć -f
flagi:
-f, --follow=false: Specify if the logs should be streamed.
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs
kubectl logs --help
poprowadzi Cię:Przykład:
# Begin streaming the logs of the ruby container in pod web-1 kubectl logs -f -c ruby web-1
Flagi:
-f, --follow[=false]: Specify if the logs should be streamed.
Możesz także dodać
--since=10m
lub tak zacząć od tego względnego czasu temu.źródło
Musiałem uzyskać dostęp do dzienników długo działającego kapsuły i
-f
zacząłem przesyłać strumieniowo dzienniki sprzed kilku dni, co zajęłoby godziny, aby dotrzeć do miejsca, w którym potrzebowałem wyświetlić (zaledwie kilka ostatnich minut).Jest
--since=10m
flaga, ale wydawało mi się, że to nie działa.Dziwne było to
--tail=100
, gdzie100
jest liczba ostatnich wierszy do wyświetlenia.źródło
poczekaj, aż kubes zakręci kapsułą i przejdź dalej ...
k8s_pod=some_pod kubectl get pods -w $k8s_pod | while read LOGLINE do [[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl done
kłody ogonowe
for line in $(kubectl get pods | grep $k8s_pod | awk '{print $1}'); do kubectl logs -f $line | tee logfile done
poszukaj wskaźnika sukcesu
tail logfile | grep successful! RESULT=$? exit $RESULT
źródło
Jeśli chcesz uzyskać strumień logów z aplikacji multi pod, możesz użyć kubetail , na przykład:
kubectl get pods NAME READY STATUS RESTARTS AGE app2-v31-9pbpn 1/1 Running 0 1d app2-v31-q74wg 1/1 Running 0 1d kubetail app2
Za pomocą tego polecenia kubetail śledzi dzienniki z aplikacji pod app2-v31-9pbpn i app2-v31-q74wg
źródło
Możesz śledzić dzienniki za pomocą -f
kubectl logs -f <pod_name>
Jeśli logi są zatrzymywane, najprawdopodobniej kapsuła ulega awarii, czy możesz sprawdzić, czy zasobnik faktycznie działa, czy nie? Sprawdź wiek może lub:
kubectl describe deploy/ds <deploy_or_ds_name>?
Możesz też sprawdzić dzienniki dotyczące kontenera wewnątrz kapsuły, ponieważ istnieje wiele kontenerów
kubectl logs -f <pod_name> -c <container_name>
źródło
Spróbuj tego,
kłody ogonowe ze strąków
kubectl --tail <"no of lines"> loguje <"pod_name">
Przykład :
kubectl --tail 100 logów app_pod
źródło
Jeśli masz tylko jeden kontener nad kapsułą, nazwa kontenera nie jest konieczna, w przeciwnym razie użyj nazwy kontenera z opcją -c. -f ie follow jest domyślnie fałszywe. Jeśli nie ustawisz tego na true, otrzymasz migawkę dzienników kontenerów.
źródło