쿠버네티스 실습을 하다보면 노드나 파드의 정보를 확인하는 경우가 많이 나온다.
“kubectl describe node” 의 정보는 보기좋게 잘 나오긴 하지만 워낙 내용이 많아서 특정 키만 확인할때는 좀 귀찮다.(익숙하다면 어느 위치에 나오는지 알겠지만😑)
이때 정확한 이름을 안다면 jq 를 활용해볼수 있다.
가령 노드의 machineID 를 찾는다면
kubectl get node -o json | jq '.status.nodeInfo.machineID'
으로 해당 키 내용만 확인 할 수있다.
근데, 나처럼 k8s 초보자는 정확한 위치(“.status.nodeInfo.machineID”)를 모를 가능성이 높다.
이때 키 이름만으로 값을 찾는 방법이다.
kubectl get node -o json | jq '..|.machineID?|select(.!=null)'
이렇게 하면 정확한 위치를 몰라도 machineID만 찾아서 보여준다.
jq '..|.name?|select(.!=null)'
이 방식으로 다른 json에서도 특정 이름(키)의 값만 확인할 수 있다.