기본 명령어

kubectl get pods                          # Pod 목록 조회
kubectl get nodes                         # Node 목록 조회
kubectl get services                      # Service 목록 조회
kubectl get deployments                   # Deployment 목록 조회
kubectl describe pod [pod-name]           # Pod 상세 정보 조회
kubectl logs [pod-name]                   # Pod 로그 조회
kubectl exec -it [pod-name] -- /bin/bash  # Pod 내부 접속

리소스 생성 및 관리

kubectl create -f [yaml-file]             # YAML 파일로 리소스 생성
kubectl apply -f [yaml-file]              # YAML 파일 적용 (생성 또는 업데이트)
kubectl delete pod [pod-name]             # Pod 삭제
kubectl delete -f [yaml-file]             # YAML 파일에 정의된 리소스 삭제

네임스페이스 관련

kubectl create namespace [name]           # 네임스페이스 생성
kubectl get pods -n [namespace]           # 특정 네임스페이스의 Pod 조회
kubectl config set-context --current --namespace=[name]  # 기본 네임스페이스 변경

스케일링

kubectl scale deployment [name] --replicas=3  # Deployment 스케일 조정
kubectl autoscale deployment [name] --min=2 --max=5 --cpu-percent=80  # HPA 설정

파드 재시작

kubectl rollout restart deployment [deployment-name] # Deployment를 사용하는 경우
kubectl delete pod [pod-name]                        # 특정 파드만 직접 삭제하여 재시작
kubectl delete pods --all -n [namespace-name]        # 특정 네임스페이스 모든 파드 재시작

업데이트 및 롤백

kubectl set image deployment/[name] container=[new-image]  # 이미지 업데이트
kubectl rollout status deployment/[name]      # 롤아웃 상태 확인
kubectl rollout history deployment/[name]     # 롤아웃 히스토리 조회
kubectl rollout undo deployment/[name]        # 이전 버전으로 롤백

모니터링 및 디버깅

kubectl top nodes                            # Node 리소스 사용량 조회
kubectl top pods                             # Pod 리소스 사용량 조회
kubectl logs -f [pod-name]                   # Pod 로그 실시간 조회
kubectl port-forward [pod-name] 8080:80      # 포트 포워딩