반응형

- k8s 운영시 알아두면 유용한 기본명령어 - 

1. 기본 명령어

클러스터 및 리소스 정보 조회

kubectl cluster-info                                                                                 # 클러스터 정보 확인
kubectl get nodes                                                                                   # 노드 목록 확인
kubectl get pods                                                                                     # 모든 네임스페이스의 파드 목록 조회
kubectl get services -n <namespace>                                                    # 특정 네임스페이스의 서비스 조회
kubectl describe pod <pod-name>                                                         # 특정 파드 상세 정보 확인
kubectl logs <pod-name>                                                                       # 특정 파드 로그 조회
kubectl logs <pod-name> -c <container-name>                                     # 특정 컨테이너 로그 조회
kubectl exec -it <pod-name> -- /bin/bash                                                # 특정 파드의 쉘에 접속
kubectl top pods                                                                                      # 리소스 사용량 조회 (Metrics 서버 필요)

2. Deployment 관련 명령어

Deployment 생성 및 관리

kubectl create deployment <name> --image=<image-name>                       # Deployment 생성
kubectl get deployments                                                                                # Deployment 목록 조회
kubectl describe deployment <deployment-name>                                       # Deployment 상세 정보 확인
kubectl delete deployment <deployment-name>                                           # Deployment 삭제
kubectl scale deployment <deployment-name> --replicas=<num>               # Replica 수 조정
kubectl set image deployment/<deployment-name> <container-name>=<new-image>  # 컨테이너 이미지 업데이트

 

3. Patch 관련 명령어

리소스 수정

kubectl patch <resource-type>/<name> --patch '<json-patch>'               # JSON 형식으로 리소스 수정
kubectl patch deployment <deployment-name> -p '<json-patch>'           # Deployment 수정
kubectl edit <resource-type>/<name>                                                      # 리소스를 에디터로 수정 (기본 vi 에디터)
kubectl annotate <resource-type>/<name> key=value                             # 리소스에 Annotation 추가
kubectl label <resource-type>/<name> key=value                                   # 리소스에 Label 추가

 

4. Rollout 관련 명령어

Deployment의 롤아웃 관리

kubectl rollout status deployment/<deployment-name>            # 롤아웃 상태 확인
kubectl rollout history deployment/<deployment-name>           # 롤아웃 히스토리 조회
kubectl rollout undo deployment/<deployment-name>              # 이전 버전으로 롤백
kubectl rollout restart deployment/<deployment-name>           # 롤링 재배포 (Pod 재시작)

 

5. Config 및 Secret 관리

ConfigMap

더보기

kubectl create configmap <name> --from-literal=key=value       # 단일 key-value ConfigMap 생성
kubectl create configmap <name> --from-file=<file-path>           # 파일로부터 ConfigMap 생성
kubectl get configmap <name> -o yaml                                       # ConfigMap YAML 조회
kubectl delete configmap <name>                                                # ConfigMap 삭제

Secret

더보기

kubectl create secret generic <name> --from-literal=key=value            # 단일 key-value Secret 생성
kubectl create secret generic <name> --from-file=<file-path>               # 파일로부터 Secret 생성
kubectl get secret <name> -o yaml                                                        # Secret YAML 조회
kubectl delete secret <name>                                                                # Secret 삭제

6. YAML 파일로 리소스 관리

리소스 생성 및 업데이트

더보기

kubectl apply -f <file.yaml>      # YAML 파일 기반으로 리소스 생성/업데이트
kubectl delete -f <file.yaml>     # YAML 파일 기반으로 리소스 삭제
kubectl diff -f <file.yaml>          # 적용 전 변경사항 확인
kubectl get -f <file.yaml>          # 파일에 정의된 리소스 정보 조회

7. Namespace 관리

더보기

kubectl get namespaces                                              # 네임스페이스 목록 조회
kubectl create namespace <namespace-name>         # 네임스페이스 생성
kubectl delete namespace <namespace-name>         # 네임스페이스 삭제
kubectl config set-context --current --namespace=<namespace-name>  # 기본 네임스페이스 변경

8. 기타 명령어

CronJob 및 Job 관리

더보기

kubectl create job <name> --image=<image-name> -- <command>                          # Job 생성
kubectl create cronjob <name> --schedule="<schedule>" --image=<image-name>  # CronJob 생성
kubectl get jobs                                                                                                           # Job 목록 확인
kubectl get cronjobs                                                                                                    # CronJob 목록 확인

Volume 및 PV/PVC 관리

더보기

kubectl get pv                                                # PV 목록 조회
kubectl get pvc                                               # PVC 목록 조회
kubectl describe pvc <pvc-name>                 # PVC 상세 정보 조회
kubectl delete pvc <pvc-name>                     # PVC 삭제

반응형

+ Recent posts