Kubernetes

[k8s] kubectl 플러그인 neat - manifest 정리

비번변경 2023. 2. 6. 21:02

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