skill/Linux

쿠버네틱스 멀티 파드 로그 보는 법

have a nice day :D 2025. 11. 27. 07:43
반응형

쿠버네틱스에서 파드(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 예시”
도 만들어줄까?

반응형