트러블슈팅 하다가 오늘 알게 됐다. 정확히 말하면 "알고는 있었는데 안 쓰고 있었다"에 가깝다. kubectl events --for 얘기다.
왜 이제서야 쓰나
지금까지 특정 Pod의 이벤트만 보려면 이렇게 했다.
kubectl get events --field-selector involvedObject.name=web-pod-abc,involvedObject.kind=Pod -n prod
솔직히 매번 field-selector 문법이 헷갈렸다. involvedObject.name이었나 regarding.name이었나. Pod 이름을 오타 내면 결과가 조용히 비어있고, 그러면 또 오타를 의심하게 된다. 삽질 시간의 절반이 이 selector 맞추기였다.
그런데 kubectl events는 v1.28에서 GA된 이후로 --for 플래그를 제공한다. 최근 1.30/1.31 클러스터라면 그냥 이렇게 하면 된다.
kubectl events --for pod/web-pod-abc -n prod --watch
Deployment면 --for deployment/foo, Node면 --for node/ip-10-0-1-23. kind/name 형식만 지키면 끝이다. --watch도 붙는다.
실제로 편한 시나리오
우리 팀에서 자주 겪는 상황이 있다. HPA가 이상하게 튄다고 알림이 온다. 예전 같으면 kubectl describe hpa xxx로 이벤트 섹션만 보거나, kubectl get events를 grep으로 필터링했다. 근데 describe는 시간순 정렬이 이상하고, get events grep은 이벤트 이름에 HPA 이름이 안 박히는 경우가 있어서 놓친다.
kubectl events --for horizontalpodautoscaler/api-hpa -n prod --watch
이거 하나로 스케일 이벤트만 실시간으로 흘러나온다. FailedGetResourceMetric 같은 경고도 놓칠 일이 없다.
하나만 더
--for는 아직 여러 리소스를 동시에 지정하는 걸 지원 안 한다. Deployment와 그 아래 Pod을 같이 보고 싶으면 결국 두 개 창을 띄워야 한다. 이 부분은 좀 아쉽다. 아마 나만 아쉬운 건 아닐 것 같은데, 혹시 우회하는 방법 아시는 분 계시면 알려주세요.
'IT > Kubernets' 카테고리의 다른 글
| Kubernetes DRA로 GPU 스케줄링하는 법 — 1.34 GA 이후 실전 가이드 (1) | 2026.08.27 |
|---|---|
| HPA 진동 잡느라 이틀 태운 이야기 (0) | 2026.08.26 |
| CronJob startingDeadlineSeconds 잘못 만졌다가 새벽 배치가 3일간 안 돌던 이야기 (0) | 2026.08.23 |
| KEDA 도입 가이드 - HPA만으로는 부족했던 순간들 (0) | 2026.08.21 |
| Native sidecar 마이그레이션, 이거 하나만 조심하면 된다 (0) | 2026.08.20 |