쿠버네티스를 다루는 분들이라면 kubectl 명령어를 하루에도 수십, 수백 번씩 입력하실 겁니다. kubectl은 쿠버네티스 클러스터를 관리하는 아주 강력한 도구지만, 때로는 반복적인 작업을 줄이거나 더 복잡한 정보를 한눈에 보고 싶다는 생각이 들 때가 있죠.
이럴 때 우리의 kubectl을 슈퍼히어로로 만들어 줄 수 있는 멋진 도구가 있습니다. 바로 Krew입니다! 🦸♂️

Krew가 뭔가요? 🤔
Krew는 한마디로 kubectl의 플러그인 매니저(Plugin Manager)입니다.
맥(macOS)에서 brew를 사용해 패키지를 설치하거나, 우분투(Ubuntu)에서 apt를, 파이썬(Python)에서 pip를 사용하는 것을 떠올리면 쉽습니다. Krew는 kubectl의 기능을 확장해 주는 다양한 플러그인들을 쉽게 검색하고, 설치하고, 관리할 수 있게 해주는 도구입니다.
kubectl의 기본 기능만으로는 부족했던 2%를 채워주는 수많은 유용한 플러그인들이 Krew의 생태계에 등록되어 있으며, 우리는 Krew를 통해 이 모든 것을 명령어 한 줄로 이용할 수 있게 됩니다.
왜 Krew를 사용해야 할까요? ✨
- 생산성 폭발 📈: 클러스터 컨텍스트(Context)나 네임스페이스(Namespace)를 빠르게 전환하고, 리소스 사용량을 시각적으로 확인하거나, YAML 파일에서 불필요한 메타데이터를 제거하는 등, kubectl만으로는 여러 단계를 거쳐야 했던 작업들을 플러그인으로 단숨에 처리할 수 있습니다.
- 쉬운 관리 🔧: Krew가 없다면, 유용한 플러그인을 찾았을 때 직접 소스 코드를 다운로드하고, 빌드해서, 내 컴퓨터의 PATH에 추가하는 번거로운 과정을 거쳐야 합니다. 하지만 Krew를 사용하면 kubectl krew install <플러그인_이름> 명령어 하나로 모든 것이 끝납니다. 업데이트나 삭제도 마찬가지로 간편하죠.
- 풍부한 생태계 🌍: Krew에는 전 세계 수많은 개발자가 만들어 공유하는 200개 이상의 플러그인이 있습니다. 내가 필요로 하는 기능은 이미 누군가가 만들어 공유했을 가능성이 높습니다. 새로운 플러그인을 발견하고 사용하는 재미도 쏠쏠합니다.
- 신뢰성과 일관성 ✅: 쿠버네티스 SIG(Special Interest Group) 중 하나인 SIG-CLI에서 공식적으로 관리하는 프로젝트이기 때문에 믿고 사용할 수 있습니다. 여러 운영체제(macOS, Linux, Windows)에서 동일한 방식으로 플러그인을 관리할 수 있다는 장점도 있습니다.
Krew 설치 및 사용법 🛠️
Krew를 사용하는 것은 매우 간단합니다. 먼저 Krew 자체를 설치하고, 그 다음부터는 kubectl krew 명령어를 통해 플러그인을 관리하면 됩니다.
1. Krew 설치하기
Krew는 git이 설치되어 있어야 합니다. 설치는 사용 중인 운영체제와 쉘 환경에 따라 조금씩 다르지만, 공식 문서에 나온 스크립트를 실행하는 것으로 간단하게 끝납니다.
macOS / Linux (bash/zsh)
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -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
)
설치가 끝나면, ~/.krew/bin 디렉토리를 PATH 환경 변수에 추가해줘야 합니다. ~/.bashrc 또는 ~/.zshrc 파일에 아래 라인을 추가하고 터미널을 다시 시작해주세요.
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
2. Krew 기본 명령어
설치가 완료되었다면, 이제 kubectl krew 명령어를 사용할 수 있습니다.
- 플러그인 목록 업데이트: 최신 플러그인 정보를 가져옵니다.
kubectl krew update - 플러그인 검색: 원하는 플러그인이 있는지 찾아봅니다.예를 들어, view와 관련된 플러그인을 찾고 싶다면 kubectl krew search view를 실행하면 됩니다.
kubectl krew search <검색어> - 플러그인 설치: 마음에 드는 플러그인을 설치합니다.
kubectl krew install <플러그인_이름> - 설치된 플러그인 목록 확인: 내 컴퓨터에 설치된 플러그인들을 봅니다.
kubectl krew list - 플러그인 업그레이드: 설치된 플러그인들을 최신 버전으로 업데이트합니다.
kubectl krew upgrade - 플러그인 삭제: 더 이상 사용하지 않는 플러그인을 제거합니다.
kubectl krew uninstall <플러그인_이름>
추천 플러그인 Best 5 ⭐
수많은 플러그인 중에서 어떤 것부터 써봐야 할지 막막한 분들을 위해, 생산성을 수직 상승시켜 줄 인기 플러그인 몇 가지를 추천합니다.
- ctx: kubectl config use-context 명령어를 짧고 직관적인 kubectl ctx로 만들어 줍니다. 여러 클러스터를 오가며 작업할 때 필수입니다.
- ns: kubectl config set-context --current --namespace 명령어를 kubectl ns로 줄여줍니다. 네임스페이스를 바꿀 때 정말 편리합니다.
- tree: 쿠버네티스 오브젝트들의 소유 관계를 나무 구조로 예쁘게 보여줍니다. 디플로이먼트가 어떤 서비스와 파드를 소유하고 있는지 한눈에 파악하기 좋습니다.
- neat: kubectl get <리소스> -o yaml 출력 결과에서 시스템이 자동으로 추가하는 불필요한 정보들(managedFields, uid 등)을 깔끔하게 제거해줍니다. YAML을 확인할 때 눈이 편안해집니다.
- view-allocations: 각 노드(Node)와 파드(Pod)의 리소스 요청(requests) 및 제한(limits) 현황을 시각적으로 보여줘 클러스터의 리소스 할당 상태를 쉽게 파악할 수 있게 돕습니다.
이 플러그인들을 kubectl krew install ctx ns tree neat view-allocations 명령어로 한 번에 설치하고 쿠버네티스 관리의 신세계를 경험해보세요!
마치며 🏁
Krew는 단순히 kubectl에 몇 가지 기능을 추가하는 것을 넘어, 쿠버네티스 관리 경험 전체를 한 단계 끌어올려 주는 강력한 도구입니다. 반복적인 작업을 자동화하고, 복잡한 정보를 쉽게 파악하게 도와주어 우리가 더 중요하고 창의적인 일에 집중할 수 있도록 해줍니다.
지금 바로 Krew를 설치하고, 여러분의 kubectl을 더욱 강력하게 만들어 보세요! 💪
'클라우드 > 쿠버네티스' 카테고리의 다른 글
| 🚀 12-Factor App: 클라우드 네이티브로 가는 가장 확실한 안내서 (2) | 2025.09.02 |
|---|---|
| 쿠버네티스 Secret, 자체 암호화만으로 충분할까? Vault를 연동하는 진짜 이유 🤫 (8) | 2025.08.30 |
| Keycloak과 쿠버네티스(Kubernetes) 연동: OIDC 인증 흐름 완벽 분석! 🚀 (6) | 2025.08.30 |
| 🔑 개발자라면 꼭 알아야 할 Keycloak: 통합 인증/인가의 모든 것 (2) | 2025.08.30 |
| 🐳 도커 이미지, 믿고 써도 될까? 공식 이미지와 일반 이미지의 서명 방식 파헤치기 (CA vs Notary) (1) | 2025.08.21 |