Published on

인프라 엔지니어가 자주 사용하는 쿠버네티스 필수 도구 10선

1. 개요

쿠버네티스(Kubernetes)는 이제 클라우드 네이티브 환경의 사실상 표준이 되었습니다. 하지만 kubectl 명령어만으로 대규모 클러스터를 효율적으로 관리하기란 쉽지 않습니다. 이 글에서는 현업 인프라 엔지니어들이 매일 사용하며 검증된 필수 도구 10가지를 소개합니다.

카테고리도구
패키지 관리Helm, Kustomize
클러스터 관리k9s, Lens, kubectx/kubens
GitOps/CDArgo CD
모니터링Prometheus, Grafana
로깅Stern
보안Trivy
플러그인krew

2. Helm: 쿠버네티스의 사실상 표준 패키지 매니저

2.1 Helm이란?

Helm은 쿠버네티스 애플리케이션을 정의, 설치, 업그레이드하기 위한 패키지 매니저입니다. 복잡한 YAML 파일들을 차트(Chart)라는 단위로 패키징하여 배포와 버전 관리를 획기적으로 단순화합니다.

2.2 핵심 개념

용어설명
Chart쿠버네티스 리소스를 정의하는 파일들의 패키지
RepositoryChart를 저장하고 공유하는 저장소
Release클러스터에 배포된 Chart의 인스턴스
ValuesChart의 설정값을 커스터마이징하는 파일

2.3 설치 방법

# MacOS
brew install helm

# Linux (스크립트)
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# Windows (Chocolatey)
choco install kubernetes-helm

2.4 기본 사용법

# Repository 추가
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

# Chart 검색
helm search repo nginx

# Chart 설치
helm install my-nginx bitnami/nginx

# 설치된 Release 목록 확인
helm list

# Values 파일로 커스터마이징 설치
helm install my-nginx bitnami/nginx -f custom-values.yaml

# Release 업그레이드
helm upgrade my-nginx bitnami/nginx --set replicaCount=3

# Release 삭제
helm uninstall my-nginx

# 배포 이력 확인 및 롤백
helm history my-nginx
helm rollback my-nginx 1

2.5 Chart 구조

mychart/
├── Chart.yaml          # Chart 메타정보
├── values.yaml         # 기본 설정값
├── charts/             # 의존성 Chart
├── templates/          # 쿠버네티스 매니페스트 템플릿
│   ├── deployment.yaml
│   ├── service.yaml
│   ├── _helpers.tpl    # 템플릿 헬퍼 함수
│   └── NOTES.txt       # 설치 후 안내 메시지
└── .helmignore         # 패키징 시 제외할 파일

2.6 실무 활용 팁

  • 환경별 Values 파일 분리: values-dev.yaml, values-stg.yaml, values-prd.yaml로 환경별 설정을 분리하여 관리
  • Helm Diff 플러그인: 업그레이드 전 변경사항을 미리 확인
    helm plugin install https://github.com/databus23/helm-diff
    helm diff upgrade my-release ./mychart
    
  • Helmfile: 여러 Chart를 선언적으로 관리하여 복잡한 배포 자동화

3. k9s: TUI 기반 클러스터 올인원 관리 도구

3.1 k9s란?

k9s는 터미널에서 쿠버네티스 클러스터를 관리하기 위한 TUI(Terminal User Interface) 도구입니다. kubectl 명령어를 일일이 입력하는 대신 직관적인 인터페이스로 리소스를 탐색하고 관리할 수 있습니다.

3.2 주요 특징

  • 실시간 리소스 모니터링: Pod, Deployment, Service 등 모든 리소스 상태를 실시간으로 확인
  • 직관적인 네비게이션: 키보드 중심의 빠른 탐색과 조작
  • YAML 편집: 리소스 YAML을 직접 수정하고 적용
  • 다중 클러스터 지원: 여러 클러스터를 손쉽게 전환
  • Pulse, Xray, Popeye: 클러스터 상태 진단 기능 내장

3.3 설치 방법

# MacOS
brew install k9s

# Linux
curl -sS https://webinstall.dev/k9s | bash

# Go로 설치
go install github.com/derailed/k9s@latest

3.4 주요 단축키

단축키기능
:리소스 종류 전환 (예: :pod, :svc, :deploy)
/리소스 검색 및 필터링
Enter선택한 리소스 상세 정보 보기
lPod 로그 보기
sPod 쉘 접속
e리소스 YAML 편집
d리소스 삭제
Ctrl+a모든 네임스페이스 리소스 보기
?단축키 도움말

3.5 k9s vs kubectl 비교

작업kubectlk9s
Pod 목록kubectl get pods:pod 입력 후 Enter
Pod 로그kubectl logs <pod-name>Pod 선택 후 l
Pod 쉘 접속kubectl exec -it <pod> -- /bin/shPod 선택 후 s
네임스페이스 변경kubectl config set-context --namespace=<ns>:ns 후 선택
클러스터 전환kubectl config use-context <ctx>:ctx 후 선택

4. Argo CD: 대표적인 GitOps CD 도구

4.1 Argo CD란?

Argo CD는 쿠버네티스를 위한 선언적 GitOps 지속적 배포(CD) 도구입니다. Git 저장소를 단일 진실 공급원(Single Source of Truth)으로 삼아 애플리케이션 배포를 자동화합니다.

4.2 GitOps의 핵심 원칙

  1. 선언적 구성: 모든 시스템 상태를 선언적으로 정의
  2. 버전 관리: Git을 통한 구성 이력 추적
  3. 자동 적용: 승인된 변경사항의 자동 배포
  4. 지속적 동기화: 실제 상태와 원하는 상태의 지속적 비교 및 조정

4.3 설치 방법

# 네임스페이스 생성 및 Argo CD 설치
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

# CLI 설치 (MacOS)
brew install argocd

# 초기 Admin 비밀번호 확인
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

# UI 접속을 위한 포트 포워딩
kubectl port-forward svc/argocd-server -n argocd 8080:443

4.4 Application 배포 예시

# application.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/myorg/my-app-config.git
    targetRevision: HEAD
    path: overlays/production
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true      # Git에서 삭제된 리소스 자동 삭제
      selfHeal: true   # 클러스터 상태가 Git과 다르면 자동 복구
    syncOptions:
      - CreateNamespace=true

4.5 핵심 기능

기능설명
SyncGit 저장소와 클러스터 상태 동기화
Rollback이전 커밋 상태로 즉시 롤백
Health Status애플리케이션 및 리소스 상태 실시간 모니터링
SSO 통합OIDC, LDAP, SAML 등 인증 연동
RBAC세밀한 접근 권한 제어
Multi-Cluster여러 클러스터를 단일 UI에서 관리

4.6 실무 활용 시나리오

개발자 → Git PushArgo CD 감지 → 자동 Sync → 클러스터 배포
                    Slack/Teams 알림
  • 개발자 셀프 서비스: 개발자가 Git에 커밋만 하면 자동으로 배포되어 인프라팀 개입 최소화
  • 감사 추적: 모든 배포 이력이 Git에 남아 감사(Audit) 용이
  • 빠른 롤백: 문제 발생 시 이전 커밋으로 즉시 롤백

5. kubectx/kubens: 멀티 클러스터 빠른 전환 도구

5.1 kubectx/kubens란?

kubectx와 kubens는 쿠버네티스 컨텍스트(클러스터)와 네임스페이스를 빠르게 전환할 수 있는 CLI 도구입니다. 멀티 클러스터 환경에서 작업할 때 필수적인 도구입니다.

5.2 설치 방법

# MacOS
brew install kubectx

# Linux (직접 설치)
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens

# krew 플러그인으로 설치
kubectl krew install ctx
kubectl krew install ns

5.3 사용법

# 현재 컨텍스트 확인
kubectx

# 컨텍스트 전환
kubectx my-production-cluster

# 이전 컨텍스트로 전환
kubectx -

# 컨텍스트 이름 변경 (별칭 지정)
kubectx prod=arn:aws:eks:ap-northeast-2:123456789:cluster/production

# 현재 네임스페이스 확인
kubens

# 네임스페이스 전환
kubens kube-system

# 이전 네임스페이스로 전환
kubens -

5.4 fzf와의 연동

fzf(fuzzy finder)가 설치되어 있으면 인터랙티브 선택 모드를 사용할 수 있습니다.

# fzf 설치
brew install fzf

# 이후 kubectx/kubens 실행 시 인터랙티브 선택 UI 제공
kubectx  # 화살표 키로 선택 가능

5.5 기존 kubectl 명령어와 비교

작업kubectlkubectx/kubens
컨텍스트 목록kubectl config get-contextskubectx
컨텍스트 전환kubectl config use-context <name>kubectx <name>
네임스페이스 목록kubectl get nskubens
네임스페이스 전환kubectl config set-context --current --namespace=<ns>kubens <ns>

6. Lens: 클러스터 시각화 데스크톱 GUI 관리 도구

6.1 Lens란?

Lens는 쿠버네티스 클러스터의 전반적인 상태를 시각화해주는 데스크톱 GUI 관리 도구입니다. 여러 클러스터를 단일 인터페이스에서 관리하고, 실시간 모니터링과 트러블슈팅을 직관적으로 수행할 수 있습니다.

6.2 주요 기능

기능설명
멀티 클러스터 관리로컬/원격 클러스터를 단일 UI에서 관리
실시간 모니터링CPU, 메모리, 네트워크 사용량 실시간 그래프
리소스 관리Pod, Deployment, Service 등 모든 리소스 조회/편집/삭제
터미널 내장클러스터에 직접 kubectl 명령어 실행
Helm Chart 관리GUI에서 Helm Chart 설치/업그레이드/삭제
로그 뷰어Pod 로그 실시간 스트리밍 및 검색
확장 기능다양한 Extension 설치 가능

6.3 설치 방법

# MacOS (Homebrew)
brew install --cask openlens

# Windows (Chocolatey)
choco install openlens

# Linux (AppImage 또는 Snap)
sudo snap install openlens --classic

6.4 활용 팁

  • 카탈로그: 자주 사용하는 클러스터를 카탈로그에 등록하여 빠르게 접근
  • Hot Bar: 자주 사용하는 리소스를 핫바에 등록하여 원클릭 접근
  • Prometheus 연동: 내장 Prometheus로 상세한 메트릭 대시보드 확인
  • kubectl 대체 X: GUI 도구이지만 복잡한 작업은 여전히 CLI가 효율적

7. krew: 쿠버네티스 공식 플러그인 패키지 매니저

7.1 krew란?

krew는 kubectl 플러그인을 발견하고 설치하기 위한 공식 패키지 매니저입니다. 200개 이상의 커뮤니티 플러그인을 손쉽게 설치하여 kubectl의 기능을 확장할 수 있습니다.

7.2 설치 방법

# 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
)

# PATH에 추가 (~/.bashrc 또는 ~/.zshrc)
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

7.3 기본 사용법

# 플러그인 검색
kubectl krew search

# 특정 플러그인 검색
kubectl krew search ctx

# 플러그인 설치
kubectl krew install ctx
kubectl krew install ns

# 설치된 플러그인 목록
kubectl krew list

# 플러그인 업데이트
kubectl krew upgrade

# 플러그인 삭제
kubectl krew uninstall ctx

7.4 추천 플러그인

플러그인설명
ctx컨텍스트 빠른 전환 (kubectx)
ns네임스페이스 빠른 전환 (kubens)
neatYAML 출력에서 불필요한 필드 제거
tree리소스 간 소유 관계를 트리로 표시
imagesPod에서 사용 중인 이미지 목록 조회
whoami현재 인증된 사용자 정보 확인
access-matrixRBAC 권한을 매트릭스로 시각화
sniffPod 네트워크 트래픽 캡처 (tcpdump)
stern멀티 Pod 로그 실시간 tail
resource-capacity노드별 리소스 용량 및 사용량 확인

8. Prometheus/Grafana: 메트릭 수집과 시각화

8.1 Prometheus란?

Prometheus는 CNCF 졸업 프로젝트로, 시계열 데이터베이스 기반의 오픈소스 모니터링 시스템입니다. 쿠버네티스 환경에서 메트릭을 수집하고 알림을 생성하는 데 사실상 표준으로 사용됩니다.

8.2 Grafana란?

Grafana는 Prometheus를 비롯한 다양한 데이터 소스의 메트릭을 시각화하는 대시보드 도구입니다. 직관적인 UI와 풍부한 시각화 옵션으로 실시간 모니터링 대시보드를 구성할 수 있습니다.

8.3 아키텍처

┌─────────────────────────────────────────────────────────────┐
Kubernetes Cluster│  ┌──────────┐  ┌──────────┐  ┌──────────┐                  │
│  │   Pod    │  │   Pod    │  │   Node   │                  │
 (metrics) (metrics)│  │ Exporter │                  │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘                  │
│       │             │             │                         │
│       └─────────────┼─────────────┘                         │
│                     ▼                                       │
│              ┌─────────────┐                               │
│              │ Prometheus  │  ← 메트릭 수집 (Pull 방식)│              │   Server    │                               │
│              └──────┬──────┘                               │
│                     │                                       │
│        ┌────────────┼────────────┐                         │
│        ▼            ▼            ▼                         │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐                   │
│  │ Grafana  │ │Alertmanager│ │  기타   │                   │
│  │Dashboard │   (알림)   │ │연동도구 │                   │
│  └──────────┘ └──────────┘ └──────────┘                   │
└─────────────────────────────────────────────────────────────┘

8.4 Helm으로 설치 (kube-prometheus-stack)

# Prometheus + Grafana + Alertmanager 통합 스택 설치
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

helm install prometheus prometheus-community/kube-prometheus-stack \
  --namespace monitoring \
  --create-namespace

# Grafana 접속 (기본 ID/PW: admin/prom-operator)
kubectl port-forward svc/prometheus-grafana -n monitoring 3000:80

8.5 주요 메트릭 예시

# 노드별 CPU 사용률
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

# Pod 메모리 사용량 (MB)
sum(container_memory_working_set_bytes{container!=""}) by (pod) / 1024 / 1024

# 네임스페이스별 CPU 요청량
sum(kube_pod_container_resource_requests{resource="cpu"}) by (namespace)

# Deployment 레플리카 상태
kube_deployment_status_replicas_available / kube_deployment_spec_replicas

8.6 Grafana 대시보드 추천

대시보드 ID이름용도
315Kubernetes Cluster Monitoring클러스터 전체 개요
6417Kubernetes Cluster (Prometheus)상세 클러스터 모니터링
747Node Exporter Full노드 상세 메트릭
13770Kubernetes Pod OverviewPod별 리소스 사용량

9. Stern: 멀티 Pod 실시간 로그 Tail 도구

9.1 Stern이란?

Stern은 여러 Pod와 컨테이너의 로그를 하나의 터미널 창에서 동시에 실시간으로 tail 할 수 있는 도구입니다. Pod 이름의 정규식 매칭을 지원하여 관련된 모든 Pod의 로그를 한눈에 확인할 수 있습니다.

9.2 설치 방법

# MacOS
brew install stern

# Linux
curl -Lo stern https://github.com/stern/stern/releases/latest/download/stern_linux_amd64.tar.gz
tar -xzf stern_linux_amd64.tar.gz
sudo mv stern /usr/local/bin/

# krew로 설치
kubectl krew install stern

9.3 기본 사용법

# Pod 이름에 'api'가 포함된 모든 Pod 로그
stern api

# 특정 네임스페이스의 Pod 로그
stern api --namespace production

# 모든 네임스페이스에서 검색
stern api --all-namespaces

# 정규식으로 Pod 선택
stern 'frontend-.*'

# 특정 컨테이너만 선택
stern api --container nginx

# 최근 10분 로그부터 시작
stern api --since 10m

# 타임스탬프 표시
stern api --timestamps

# JSON 로그를 예쁘게 출력
stern api --output json | jq .

# 특정 라벨의 Pod 로그
stern --selector app=my-service

9.4 출력 예시

frontend-abc123 container1 → {"level":"info","msg":"Request received",...}
frontend-def456 container1 → {"level":"info","msg":"Request received",...}
backend-xyz789 container1 → {"level":"debug","msg":"Processing...",...}

9.5 kubectl logs와 비교

기능kubectl logsstern
단일 Pod 로그가능가능
멀티 Pod 로그불편 (각각 실행)자동 집계
정규식 매칭불가능가능
컬러 구분없음Pod/컨테이너별 컬러
실시간 스트리밍-f 옵션기본 동작

10. Kustomize: 순수 YAML 오버레이 기반 설정 관리

10.1 Kustomize란?

Kustomize는 순수 YAML 파일의 상속 및 오버레이 구조를 통해 환경별(Dev/Stg/Prd) 설정을 관리하는 도구입니다. 템플릿 엔진 없이 YAML 패치 방식으로 동작하며, kubectl에 내장되어 있습니다.

10.2 Helm vs Kustomize

항목HelmKustomize
접근 방식템플릿 엔진 (Go Template)순수 YAML 오버레이
학습 곡선상대적으로 높음낮음 (YAML만 알면 됨)
패키징Chart로 패키징/공유디렉토리 기반
외부 의존성helm 바이너리 필요kubectl에 내장
복잡한 로직조건문, 반복문 가능단순 패치만 가능

10.3 디렉토리 구조

my-app/
├── base/                     # 공통 베이스 설정
│   ├── kustomization.yaml
│   ├── deployment.yaml
│   └── service.yaml
└── overlays/                 # 환경별 오버레이
    ├── dev/
    │   ├── kustomization.yaml
    │   └── replica-patch.yaml
    ├── stg/
    │   ├── kustomization.yaml
    │   └── replica-patch.yaml
    └── prd/
        ├── kustomization.yaml
        └── replica-patch.yaml

10.4 예시: base/kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - deployment.yaml
  - service.yaml

commonLabels:
  app: my-app

10.5 예시: overlays/prd/kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: production

resources:
  - ../../base

namePrefix: prd-

replicas:
  - name: my-app
    count: 5

images:
  - name: my-app
    newTag: v2.0.0

patches:
  - path: replica-patch.yaml

10.6 사용법

# 빌드 결과 미리 확인
kubectl kustomize overlays/prd

# 직접 적용
kubectl apply -k overlays/prd

# Helm과 함께 사용 (Helm 차트를 Kustomize로 패치)
helm template my-release ./mychart | kubectl kustomize -

11. Trivy: 컨테이너 보안 취약점 스캐너

11.1 Trivy란?

Trivy는 Aqua Security에서 개발한 오픈소스 보안 스캐너로, 컨테이너 이미지, 파일시스템, Git 저장소, 쿠버네티스 리소스의 보안 취약점(CVE) 및 설정 오류를 배포 전에 빠르게 스캔합니다.

11.2 스캔 대상

대상스캔 내용
컨테이너 이미지OS 패키지, 언어별 패키지 취약점
파일시스템IaC 설정 오류, 시크릿 노출
Git 저장소커밋 이력 내 민감정보
쿠버네티스리소스 설정 오류, RBAC 문제

11.3 설치 방법

# MacOS
brew install trivy

# Linux (apt)
sudo apt-get install trivy

# Linux (스크립트)
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin

# Docker로 실행
docker run --rm aquasec/trivy image nginx:latest

11.4 기본 사용법

# 컨테이너 이미지 스캔
trivy image nginx:1.21

# 심각도 필터링 (HIGH, CRITICAL만)
trivy image --severity HIGH,CRITICAL nginx:1.21

# JSON 형식 출력
trivy image --format json -o result.json nginx:1.21

# 로컬 Dockerfile 및 파일시스템 스캔
trivy fs --security-checks vuln,secret,config .

# 쿠버네티스 클러스터 스캔
trivy k8s --report summary cluster

# 특정 네임스페이스 스캔
trivy k8s --namespace production --report all

11.5 CI/CD 파이프라인 통합 예시

# GitHub Actions
- name: Run Trivy vulnerability scanner
  uses: aquasecurity/trivy-action@master
  with:
    image-ref: 'myregistry/myimage:${{ github.sha }}'
    format: 'sarif'
    output: 'trivy-results.sarif'
    severity: 'CRITICAL,HIGH'
    exit-code: '1'  # 취약점 발견 시 빌드 실패

11.6 스캔 결과 예시

nginx:1.21 (debian 11.2)
=========================
Total: 52 (UNKNOWN: 0, LOW: 15, MEDIUM: 30, HIGH: 5, CRITICAL: 2)

┌──────────────┬────────────────┬──────────┬───────────────────┬───────────────┬─────────────────────────────────────┐
LibraryVulnerabilitySeverityInstalled VersionFixed VersionTitle├──────────────┼────────────────┼──────────┼───────────────────┼───────────────┼─────────────────────────────────────┤
│ libssl1.1CVE-2022-0778HIGH1.1.1k-11.1.1k-1+deb  │ openssl: Infinite loop in BN_mod_│              │                │          │                   │ 11u3+1sqrt() reachable when parsing...├──────────────┼────────────────┼──────────┼───────────────────┼───────────────┼─────────────────────────────────────┤
│ zlib1g       │ CVE-2022-37434CRITICAL1:1.2.11.dfsg-21:1.2.11.dfsg │ zlib: heap-based buffer over-read  │
│              │                │          │                   │ -2+deb11u2    │ and overflow in inflate()...└──────────────┴────────────────┴──────────┴───────────────────┴───────────────┴─────────────────────────────────────┘

12. 도구 활용 워크플로우 예시

실제 인프라 엔지니어의 일과에서 이 도구들이 어떻게 활용되는지 살펴봅니다.

┌──────────────────────────────────────────────────────────────────────────┐
│                        인프라 엔지니어 일일 워크플로우                    │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
1. 클러스터 전환                                                        │
│     $ kubectx production-cluster                                         │
│     $ kubens backend                                                     │
│                                                                          │
2. 클러스터 상태 확인                                                   │
│     $ k9s                          # TUI로 전체 상태 파악                │
│     또는 Lens 실행                 # GUI로 시각적 확인                   │
│                                                                          │
3. 로그 모니터링                                                        │
│     $ stern 'api-.*' --since 1h    # API 서버 로그 실시간 확인           │
│                                                                          │
4. 메트릭 대시보드                                                      │
Grafana 접속 → Kubernetes Dashboard 확인                             │
│                                                                          │
5. 신규 앱 배포 (Helm + Argo CD)│     $ helm diff upgrade my-app ./charts/my-app                           │
│     $ git commit & push            # Argo CD가 자동 Sync│                                                                          │
6. 환경별 설정 관리 (Kustomize)│     $ kubectl apply -k overlays/production                               │
│                                                                          │
7. 보안 점검                                                            │
│     $ trivy image myregistry/myapp:latest                                │
│     $ trivy k8s --namespace production --report summary                  │
│                                                                          │
8. kubectl 확장 (krew)│     $ kubectl resource-capacity    # 노드별 리소스 확인                  │
│     $ kubectl tree deploy my-app   # 리소스 관계 트리 확인               │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

13. 마무리

이번 글에서 소개한 10가지 도구는 쿠버네티스 환경에서 인프라 엔지니어가 효율적으로 작업하기 위한 필수 도구들입니다.

도구한줄 요약
Helm복잡한 YAML을 차트로 패키징하여 원클릭 배포
k9s터미널에서 클러스터를 직관적으로 관리하는 TUI
Argo CDGit 커밋만으로 자동 배포되는 GitOps CD
kubectx/kubens멀티 클러스터/네임스페이스 빠른 전환
Lens클러스터 상태를 한눈에 보는 데스크톱 GUI
krewkubectl 기능을 무한 확장하는 플러그인 매니저
Prometheus/Grafana메트릭 수집과 시각화의 황금 조합
Stern여러 Pod 로그를 한 화면에서 실시간 tail
Kustomize순수 YAML 오버레이로 환경별 설정 관리
Trivy배포 전 보안 취약점을 빠르게 스캔

이 도구들을 적절히 조합하면 복잡한 쿠버네티스 환경에서도 생산성을 높이고 안정적인 운영이 가능합니다. 각 도구의 공식 문서를 참고하여 팀 환경에 맞게 커스터마이징해 보시기 바랍니다.