neat
쿠버네티스 클러스터에 존재하는 리소스의 정보를 yaml 형식으로 출력하면 다음과 같은 정보가 함께 출력된다.
- 생성 타임스탬프 또는 내부 ID와 같은 메타데이터
- 누락된 속성의 기본값
- Admission Controller에 의해 추가된 System attribute (예: service account token)
- 상태 정보
neat 플러그인은 get -o yaml 명령어 결과에서 불필요한 정보를 정리하여 가독성 있는 yaml 출력을 만들어준다.
이 글에서는 설치 및 사용 방법에 대해 정리한다.
설치
krew를 통해 설치한다.
kubectl krew install neat
사용법 - 표준/파일 입출력
기본적으로 파이프를 이용해 get 명령의 결과를 neat로 전달하거나 -f 옵션을 이용할 수 있다.
kubectl get pod mypod -o yaml | kubectl neat
kubectl get pod mypod -o yaml | kubectl neat -o json
kubectl neat -f - <./my-pod.json
kubectl neat -f ./my-pod.json
kubectl neat -f ./my-pod.json -o yaml
neat의 기본 출력 형식은 yaml이지만 json으로 출력할 수도 있다.
사용법 - get wrapper
get 하위 명령인 kubectl neat get을 호출하여, kubectl get 한 뒤 neat를 실행하는 명령어를 하나의 명령어로 실행할 수 있게 한다.
kubectl neat get -- <RESOURCE> <NAME> -o yaml
# 예시
kubectl neat get -- pod mypod -o yaml
kubectl neat get -- svc -n default myservice -o json
참고 문서
https://github.com/itaysk/kubectl-neat
https://alex-moss.medium.com/down-with-the-krew-my-favourite-kubectl-plugins-279d8d2d5640