Nice programing

kubectl 로그-연속

nicepro 2020. 11. 23. 19:59
반응형

kubectl 로그-연속


kubectl logs <pod-id>

배포에서 최신 로그를 가져옵니다. 버그를 수정하고 있으며 런타임에 로그를 알고 싶습니다. 연속적인 로그 스트림을 얻으려면 어떻게해야합니까?

편집 : 마지막에 수정 된 질문.


kubectl logs -f <pod-id>

다음 -f플래그 를 사용할 수 있습니다 .

-f, --follow=false: Specify if the logs should be streamed.

http://kubernetes.io/docs/user-guide/kubectl/kubectl_logs/


kubectl logs --help 당신을 안내 할 것입니다 :

예:

# Begin streaming the logs of the ruby container in pod web-1
kubectl logs -f -c ruby web-1

플래그 :

-f, --follow[=false]: Specify if the logs should be streamed.

--since=10m상대적인 시간 전부터 추가 하거나 시작할 수도 있습니다 .


kubes가 포드를 돌릴 때까지 기다린 다음 계속 진행하십시오.

k8s_pod=some_pod
kubectl get pods -w $k8s_pod | while read LOGLINE
do
   [[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl
done

꼬리 통나무

for line in $(kubectl get pods | grep $k8s_pod | awk '{print $1}'); do
    kubectl logs -f $line | tee logfile
done

성공 지표 찾기

tail logfile | grep successful! 
RESULT=$?
exit $RESULT

오래 실행되는 포드의 로그에 액세스해야 -f했고 며칠 전부터 로그 스트리밍을 시작했습니다.보기에 필요한 위치 (지난 몇 분 정도)에 도달하는 데 몇 시간이 걸렸을 것입니다.

거기에있다 --since=10m플래그는,하지만 나를 위해 작동하지 않았다.

무엇을 놀라게 했는가 --tail=100, 100표시 할 최근 줄의 수는 어디에 있습니까 ?


다중 포드 앱에서 로그 스트림을 가져 오려면 kubetail 을 사용할 수 있습니다 . 예 :

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

해당 명령으로, kubetail입니다 미행 포드의 로그 APP2-v31-9pbpn APP2-V31-q74wg을

참고 URL : https://stackoverflow.com/questions/39454962/kubectl-logs-continuously

반응형