쿠버네틱스에서 파드(Pod)가 여러 개일 때 각 파드 로그를 보는 방법은 상황에 따라 여러 가지가 있어. 가장 많이 쓰는 방법들을 정리해줄게.
---
✅ 1. 특정 파드 하나의 로그 보기
kubectl logs <pod-name> -n <namespace>
---
✅ 2. 여러 개 파드가 있을 때 로그 보기 (Deployment/ReplicaSet)
예를 들어 app=my-api 라벨을 가진 파드가 3개 있다면:
라벨로 로그 조회
kubectl logs -l app=my-api -n <namespace>
---
✅ 3. 여러 파드의 로그를 한 번에 스트리밍(watch) 하기
kubectl logs -l app=my-api -n <namespace> -f
-f = 실시간
---
✅ 4. 파드 이름이 비슷할 때 (예: my-api-xxxxxx)
kubectl get pods -n <namespace> | grep my-api
kubectl logs my-api-7c6f8d4b5f-abc12 -n <namespace>
---
✅ 5. 여러 파드 중 특정 컨테이너 로그 보기
파드 안에 컨테이너가 여러 개면:
kubectl logs <pod-name> -c <container-name> -n <namespace>
---
✅ 6. 최근 100줄만 보기
kubectl logs <pod-name> --tail=100 -n <namespace>
---
✅ 7. 과거 로그(previous) 보기
컨테이너가 restart된 경우:
kubectl logs <pod-name> -n <namespace> --previous
---
✅ 8. 파드 이름 자동으로 선택해서 여러 개 로그 한 번에 보기 (bash)
for p in $(kubectl get pods -n <namespace> -l app=my-api -o name); do
echo "==== $p ===="
kubectl logs $p -n <namespace> --tail=50
done
---
🔥 실무에서 제일 많이 쓰는 조합 (추천)
➜ 실시간으로 모든 replica 로그 확인
kubectl logs -l app=my-api -n dev -f
➜ 특정 namespace의 모든 파드 로그 확인
kubectl logs --all-containers=true -l app=my-api -n dev -f
---
필요하면
“namespace별 모든 파드 로그를 한 번에 보는 스크립트”,
“중복 로그 패턴 필터링하는 grep 예시”
도 만들어줄까?
'skill > Linux' 카테고리의 다른 글
| nohup 으로 jar 파일 실행 (spring, java 환경변수 추가, 실행/backup sh) (0) | 2023.03.31 |
|---|---|
| AWS 서버 시간 변경 (0) | 2022.08.11 |
| AWS 서버 Jenkins pipeline 연결 시, codedeploy-agent 설치 및 IAM 연동 (0) | 2022.06.16 |
| nohup java -jar 실행 시, 1>/dev/null 2>&1 & 쓰임 (0) | 2022.06.16 |
| Port 8080 is already in use 톰캣 프로세스 종료 처리 해결 (0) | 2021.06.12 |