kubectl logs <pod-id>
배포에서 최신 로그를 가져옵니다.-버그에 대해 작업 중이며 런타임에 로그를 알고 싶습니다. 어떻게 연속 로그 스트림을 얻을 수 있습니까?
편집 : 마지막에 수정 된 질문.
답변
kubectl logs -f <pod-id>
다음 -f
플래그 를 사용할 수 있습니다 .
-f, --follow=false: Specify if the logs should be streamed.
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#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
상대적인 시간 전부터 추가 하거나 시작할 수도 있습니다 .
답변
오래 실행되는 포드의 로그에 액세스해야 -f
했고 며칠 전부터 로그 스트리밍을 시작했습니다.보기에 필요한 위치 (지난 몇 분 정도)에 도달하는 데 몇 시간이 걸렸을 것입니다.
거기에있다 --since=10m
플래그는,하지만 나를 위해 작동하지 않았다.
무엇을 놀라게 했는가 --tail=100
, 100
표시 할 최근 줄의 수는 어디에 있습니까 ?
답변
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
답변
다중 포드 앱에서 로그 스트림을 가져 오려면 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을
답변
-f로 로그를 추적 할 수 있습니다.
kubectl logs -f <pod_name>
로그가 중지 된 경우 포드가 충돌하는 것 같습니다. 포드가 실제로 실행 중인지 확인할 수 있습니까? 나이를 확인하거나 :
kubectl describe deploy/ds <deploy_or_ds_name>?
또는 여러 컨테이너가있는 포드 내부의 컨테이너에 대한 로그를 확인할 수도 있습니다.
kubectl logs -f <pod_name> -c <container_name>
답변
이 시도,
포드의 테일 로그
kubectl –tail < “no of lines”> 로그 < “pod_name”>
예 :
kubectl –tail 100 개의 로그 app_pod
