03. Week3 파드 상태 및 로그 확인 - chuirang/DevOps GitHub Wiki
$ kubectl get po
$ kubectl describe po <pod_name>
// 1) 기본형
$ kubectl logs <pod_name>
// 2) --tail <count> -f 옵션 추가 (실시간)
$ kubectl logs --tail 10 -f <pod_name>
// 3) Pod에서 컨테이너가 여러개인 경우 -c 옵션으로 컨테이너 이름 지정
$ kubectl logs -c <container_name> <pod_name>
// 4) 바로 직전에 종료된 컨테이너 로그 확인
// (컨테이너가 뜨자마자 에러로 죽은 경우, --previous 옵션으로 이전 컨테이너 로그 확인 가능)
$ kubectl logs --previous <pod_name>
wonkilee.lee@u2004-master:~$ kubectl get po -n kube-system
NAME READY STATUS RESTARTS AGE
<생략>
csi-nfs-controller-68f9d6dd85-s87b7 3/3 Running 8 36d
<생략>
wonkilee.lee@u2004-master:~$ kubectl logs --tail 10 csi-nfs-controller-68f9d6dd85-s87b7 -c csi-provisioner --previous -n kube-system
k8s.io/klog/v2.Fatalf(...)
/workspace/vendor/k8s.io/klog/v2/klog.go:1502
main.main()
/workspace/cmd/csi-provisioner/csi-provisioner.go:180 +0xa8e
goroutine 6 [chan receive]:
k8s.io/klog/v2.(*loggingT).flushDaemon(0x2604640)
/workspace/vendor/k8s.io/klog/v2/klog.go:1169 +0x8b
created by k8s.io/klog/v2.init.0
/workspace/vendor/k8s.io/klog/v2/klog.go:417 +0xdf
$ kubectl exec -it <pod_name> -- sh
root@u2004-second:/var/log/pods/fancy13_resource-pod_e7dc3e08-4106-4737-8317-516a1650c6bb/busybox-pod# tail -f 0.log
{"log":"The app is running!\n","stream":"stdout","time":"2021-08-05T07:31:07.1600004Z"}
grafana 에서 Explore > Datasource: Loki 지정 > 예시와 같이 작성 후 'Run Query' 실행
Log labels: {app="php-apache",namespace="youngdo7kim"}
jounalctl -u kubelet -f
jounalctl -u kubelet --since=<DATE> --until=<DATE>