
대부분 kubectl을 사용하는 터미널에서 watch를 사용해 pod의 배포 상황, 삭제 상황 등을 가볍게 확인하는 경우가 많을 것이다.
나의 경우는 그랬다.
그러던 중, KLock 이라는 재미있고 편리한 kubectl krew 플러그인을 발견했다!

출처 : https://github.com/applejag/kubectl-klock?tab=readme-ov-file
그럼 watch와 뭐가 다를까?
먼저 가장 좋은 것은 변화 감지가 빠르다. watch에 옵션을 준 것 보다 빠르게 감지해서 좋다.
다음으로 색상이 있다! 색상으로 pod의 상태가 초록/노랑/빨강 등의 색상으로 표시되서 눈으로 감지하기 좋다.
또한 여러 리소스를 한 화면에 표시할 수 있어서 편하다.
KLock 설치에 앞서,
krew가 설치되어 있지 않다면 설치해야 한다.
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed 's/x86_64/amd64/' | sed 's/arm.*$/arm/')" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew-${OS}_${ARCH}.tar.gz" &&
tar zxvf krew-"${OS}_${ARCH}.tar.gz" &&
./krew-"${OS}_${ARCH}" install krew
)
echo 'export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
kubectl krew version
https://github.com/applejag/kubectl-klock?tab=readme-ov-file
kubectl krew install klock
kubectl klock -h
watch를 사용하던 것 처럼 사용하면 된다!
# Watch all pods
kubectl klock pods
# Watch all pods with more information (such as node name)
kubectl klock pods -o wide
# Watch a specific pod
kubectl klock pods my-pod-7d68885db5-6dfst
# Watch a subset of pods, filtering on labels
kubectl klock pods --selector app=my-app
kubectl klock pods -l app=my-app
# Watch all pods in all namespaces
kubectl klock pods --all-namespaces
kubectl klock pods -A
# Watch other resource types
kubectl klock cronjobs
kubectl klock deployments
kubectl klock statefulsets
kubectl klock nodes
# Watch all pods, but restart the watch when your ~/.kube/config file changes,
# such as when using "kubectl config use-context NAME"
kubectl klock pods --watch-kubeconfig
kubectl klock pods -W