728x90
개요
kubectl은 쿠버네티스 클러스터 관리를 위한 커맨드라인 인터페이스입니다. kubectl에서 지원하는 명령은 아래와 같이 구분됩니다.
- 쿠버네티스 자원 생성, 업데이트, 삭제 (create, update, delete)
- 디버그, 모니터링, 트러블 슈팅 (log, exec, cp, top, ...)
- 클러스터 관리 (cordon, top, drain, taint, ...)
사용법
kubectl은 아래 형식으로 명령을 작성합니다.
kubectl {command} {TYPE} {NAME} {flags}
- command: 자원에 실행하는 동작 (create, get, delete, ...)
- TYPE: 자원 타입 (pod, service, ingress, ...)
- NAME: 자원 이름
- flags: 부가적 설정 옵션
기본적으로 kubeconfig ($HOME/.kube/config) 파일에서 클러스터, 인증, 컨텍스트 정보를 읽습니다.
리소스 생성 및 수정
# 신규 Pod 생성
kubectl run {pod_name} --image={image_name}
# YAML 파일에 정의된 리소스를 생성하거나 업데이트
kubectl apply -f {filename}.yaml
# 지정된 이름과 이미지를 사용하여 새로운 Deployment를 생성
kubectl create deployment {name} --image={image}
# 기존 Deployment를 편집
kubectl edit deployment {deployment_name}
리소스 조회
# 현재 네임스페이스의 모든 Pod 목록을 조회
kubectl get pods
# 모든 네임스페이스의 Pod 목록을 조회
kubectl get pods --all-namespaces
# 클러스터의 모든 노드 목록을 조회
kubectl get nodes
# 현재 네임스페이스의 모든 서비스 목록을 조회
kubectl get svc
# 현재 네임스페이스의 모든 Kubernetes 객체를 조회
kubectl get all
리소스 상세 정보 확인
# 특정 Pod의 상세 정보를 확인
kubectl describe pod {pod_name}
# 특정 노드의 상세 정보를 확인
kubectl describe node {node_name}
리소스 삭제
# 특정 Pod를 삭제
kubectl delete pod {pod_name}
# 특정 노드를 삭제
kubectl delete node {node_name}
디버깅 및 로그
# 특정 Pod의 로그를 확인
kubectl logs {pod_name}
# 실행 중인 Pod 내부에서 명령어를 실행하거나 Bash 셀을 오픈
kubectl exec -it {pod_name} -- /bin/bash
스케일링 및 롤아웃
# Deployment의 복제본 수를 조정
kubectl scale deployment {deployment_name} --replicas={number}
# Deployment 롤아웃 상태를 확인
kubectl rollout status deployment/{deployment_name}
# Deployment를 이전 버전으로 롤백
kubectl rollout undo deployment/{deployment_name}
네임스페이스 관리
# 클러스터의 모든 네임스페이스 목록을 조회
kubectl get namespaces
# 새로운 네임스페이스를 생성
kubectl create namespace {namespace_name}
# 현재 컨텍스트의 기본 네임스페이스를 설정
kubectl config set-context --current --namespace={namespace_name}
모니터링 및 자원 사용량 확인
# Pod별 CPU와 메모리 사용량을 표시
kubectl top pods
# 노드별 CPU와 메모리 사용량을 표시
kubectl top nodes
포트 포워딩 및 클러스터 정보
# 로컬 포트를 Pod의 포트로 포워딩하여 접근할 수 있게 함
kubectl port-forward {pod_name} {local_port}:{pod_port}
# 클러스터 API 서버와 기본 정보를 표시
kubectl cluster-info
클러스터 내 가용한 자원 확인
# 클러스터 내 사용할 수 있는 자원 확인
kubectl api-resources
728x90
'K8s' 카테고리의 다른 글
kube-proxy (0) | 2025.04.20 |
---|---|
서비스 (Service) (0) | 2025.04.20 |
컨트롤러 (Controller) (0) | 2025.03.31 |
포드 (Pod) (0) | 2025.03.31 |
K8s Cluster 구조 (0) | 2025.03.29 |