- 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 삭제
'클라우드' 카테고리의 다른 글
[Elasticsearch] index 의 shard(샤드) 개념 (0) | 2024.11.27 |
---|---|
[k8s]Airflow Helm Install 가이드 (0) | 2024.11.26 |
베어 메탈(Bare Metal)이란.. (0) | 2023.06.15 |