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
레퍼런스
- Krew 공식 문서
- kubectl-neat GitHub 저장소
- kail GitHub 저장소
- https://securityof.tistory.com/37 — 중복 방지를 위해 일부 플러그인은 본 문서에서 제외하였습니다.
'Kubernetes' 카테고리의 다른 글
kubectx, kubens (Kubernetes 유용한 도구) (0) | 2025.05.20 |
---|---|
asdf를 활용한 kubectl 버전 관리 (0) | 2022.06.09 |
Kubernetes Basic (MSA에서 Kubernetes) (0) | 2020.08.06 |
쿠버네티스 기본 용어(Terms) (0) | 2020.06.25 |