Overview
Kubernetes 환경에서 클러스터 리소스를 생성, 수정, 조회, 삭제하는 핵심 CLI 도구가 바로 kubectl이다.
운영자, 개발자, 데브옵스 모두가 매일 사용하는 만큼 kubectl 명령어를 효율적으로 정리해두면 실무에서 큰 도움이 된다.
이 글에서는 kubectl의 대표 명령어들을 실용적인 예시와 함께 정리하고, 자주 사용하는 옵션들과 조합까지 소개한다.
처음 시작하는 입문자부터 실무 운영자까지 바로 활용할 수 있는 kubectl 명령어 모음집이다.

kubectl 명령어 정리
1. 버전 및 리소스 확인
클라이언트 및 서버 버전 확인
kubectl version --short
사용 가능한 리소스 종류 조회
kubectl api-resources
2. 리소스 생성/수정/삭제
▶ 리소스 생성
YAML 파일로 생성
kubectl apply -f nginx-pod.yaml
ConfigMap 생성 (직접 입력)
kubectl create configmap my-config --from-literal key=value
ConfigMap 생성 (파일 기반)
kubectl create configmap my-config --from-file config.txt
ConfigMap 생성 (env 파일)
kubectl create configmap my-config --from-env-file settings.env
Pod 직접 생성 (실험용)
kubectl run nginx --image=nginx
Deployment 직접 생성
kubectl create deployment my-app --image=myapp:v1
▶ 리소스 수정
편집기로 리소스 수정
kubectl edit pod my-pod
이미지 업데이트 (디플로이먼트)
kubectl set image deployment/my-deploy nginx=nginx:1.19 --record
▶ 리소스 삭제
YAML로 삭제
kubectl delete -f nginx-pod.yaml
특정 리소스 삭제
kubectl delete pod my-pod
전체 리소스 삭제 (주의!)
kubectl delete deployment,pod,rs --all
3. 리소스 조회 및 상태 확인
전체 Pod 조회
kubectl get pods
상세 정보 확인
kubectl describe pod my-pod
로그 확인
kubectl logs my-pod
라벨 포함 조회
kubectl get pods --show-labels
특정 라벨만 필터링
kubectl get pods -l app=nginx
4. 파드 내부 접근 및 명령 실행
Pod 내부 bash/sh 진입
kubectl exec -it my-pod -- bash
kubectl exec -it my-pod -- sh
특정 컨테이너로 접근
kubectl exec -it my-pod -c sidecar-container -- bash
kubectl exec -it my-pod -c sidecar-container -- sh
5. 배포 및 롤백 관리
배포 변경 기록 확인
kubectl rollout history deployment my-deployment
롤백 실행
kubectl rollout undo deployment my-deployment --to-revision=1
수동 스케일 조정
kubectl scale deployment my-deployment --replicas=3
6. 테스트용 ConfigMap 빠르게 생성 (dry-run)
YAML 생성만 하고 적용하지 않음
kubectl create configmap quick-cm --from-literal key=value --dry-run=client -o yaml > cm.yaml
7. 리소스 상태/에러 확인 및 디버깅 팁
이벤트 확인
kubectl get events --sort-by='.metadata.creationTimestamp'
→ 리소스 생성/삭제, 오류 발생 시 어떤 이벤트가 발생했는지 시간 순으로 확인 가능
네임스페이스별 로그 확인
kubectl logs -n kube-system kube-apiserver-<master-node>
→ 클러스터 문제 발생 시 kube-system 네임스페이스의 주요 컨트롤러 로그를 확인
8. 네임스페이스 활용
특정 네임스페이스에서만 조회
kubectl get pods -n my-namespace
기본 네임스페이스 변경
kubectl config set-context --current --namespace=my-namespace
전체 네임스페이스 조회
kubectl get pods --all-namespaces
9. 리소스 상태 시각화 툴 추천
K9s: 터미널 기반 쿠버네티스 리소스 UI
→ brew install k9s
(Mac) / snap install k9s
(Linux)
→ 빠르게 리소스를 탐색하고, 로그 확인 및 명령 실행 가능
마무리
Kubernetes에서 kubectl은 단순한 명령어 집합이 아니라, 클러스터와 직접 상호작용하는 가장 기본적이면서도 중요한 도구이다.
- YAML vs CLI: 반복 작업은 YAML로, 빠른 실험은 CLI로 접근하는 것이 효율적이다.
- 자주 사용하는 옵션들 (-o yaml, --record, -l)을 익히면 실전에서 훨씬 빠르게 대응할 수 있다.
- 에러가 나거나 동작이 예상과 다를 경우, describe, logs, edit 조합으로 디버깅 루틴을 만들어보자.
kubectl에 익숙해지는 것은 곧 쿠버네티스 운영의 기초 체력을 다지는 과정이다.
시간이 날 때마다 한두 가지 명령어를 실습해보며 체화해두면 실무에서 훨씬 빠르게 대응할 수 있다.
'Container Orchestration > Kubernetes' 카테고리의 다른 글
Kubernetes API Server, Group / RBAC란? (2) | 2023.04.19 |
---|---|
K8S 인증서 10년 만기 생성 방법 (2) | 2022.09.23 |
Kubernetes Ingress란? (클러스터 외부 트래픽 관리) (0) | 2022.08.08 |
Kubernetes Probe (Liveness, Readiness, Startup) (0) | 2022.07.15 |
Kubernetes 컨테이너 이미지 생성하기 (0) | 2022.05.10 |