본문 바로가기
Kubernetes

kubectl 플러그인: 효율적인 Kubernetes 관리 도구

by SecuOf 2025. 5. 20.

kubectl 플러그인: 효율적인 Kubernetes 관리 도구

Kubernetes를 다루다 보면 kubectl 명령만으로는 불편할 때가 많습니다. 다양한 작업을 더 쉽고 빠르게 수행하기 위해 커뮤니티에서 개발한 여러 kubectl 플러그인을 활용할 수 있습니다.
이번 글에서는 Krew, kubectl-neat, kail 등 대표적인 플러그인을 소개하고, 설치 및 사용 방법을 살펴보겠습니다.

⚠️ 참고: https://securityof.tistory.com/37에서 소개된 kubectx, kubens 플러그인은 이 글에서 제외하였습니다.


1. Krew: kubectl 플러그인 매니저

  • 설명: kubectl용 플러그인을 탐색, 설치, 업데이트할 수 있는 중앙 저장소 및 관리 도구입니다.
  • 설치 (macOS/Linux):
  • ( set -x; cd "$(mktemp -d)" && OS="$(uname | tr '[:upper:]' '[:lower:]')" && ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64$/arm64/')" && KREW="krew-${OS}_${ARCH}" && curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" && tar zxvf "${KREW}.tar.gz" && ./"${KREW}" install krew )
  • 사용 예시:
  • # 플러그인 목록 갱신 kubectl krew update # 특정 플러그인 검색 kubectl krew search dns # 플러그인 설치 kubectl krew install sniff

2. kubectl-neat: YAML/JSON 간결화

  • 설명: Kubernetes 리소스에서 디폴트 필드, 빈 값, 상태 정보 등 불필요한 부분을 제거해 보다 읽기 쉬운 YAML/JSON을 출력합니다.
  • 설치:
  • # Krew를 통해 설치 kubectl krew install neat
  • 사용 예시:
  • # Pod 정보를 YAML로 출력하면서 정리 kubectl get pod my-pod -o yaml | kubectl neat # 서비스 정보를 JSON으로 출력하면서 정리 kubectl get svc my-service -o json | kubectl neat -o json

3. kail: 실시간 로그 스트리밍

  • 설명: 지정한 레이블, 서비스, ReplicaSet, Deployment 등에 매칭되는 모든 Pod의 로그를 실시간으로 스트리밍하며, 클러스터 변화에도 동적으로 대응합니다.
  • 설치:
  • # 바이너리 직접 다운로드 curl -LO https://github.com/boz/kail/releases/latest/download/kail-linux-amd64 chmod +x kail-linux-amd64 mv kail-linux-amd64 /usr/local/bin/kail
  • 사용 예시:
  • # app=frontend 레이블이 있는 모든 Pod 로그 보기 kail -l app=frontend # 특정 서비스 뒤의 Pod 로그 보기 kail --svc my-service

레퍼런스

  1. Krew 공식 문서
  2. kubectl-neat GitHub 저장소
  3. kail GitHub 저장소
  4. https://securityof.tistory.com/37 — 중복 방지를 위해 일부 플러그인은 본 문서에서 제외하였습니다.