728x90
SMALL
1. 글을 작성하게 된 계기
K8s를 자주 사용하게 되면서
자주 사용하는 명령어를 정리하고자 한다.
2. 명령어 정리
기본 명령어
- kubectl get: 리소스를 조회하는 명령어
- 예시:
- kubectl get pods: 클러스터 내의 모든 Pod 목록을 조회
- kubectl get nodes: 클러스터 내의 모든 Node 목록을 조회
- kubectl get services: 모든 서비스 목록을 조회
- 예시:
- kubectl describe: 특정 리소스에 대한 상세 정보를 확인
- 예시:
- kubectl describe pod <pod_name>: 특정 Pod의 상세 정보를 확인
- kubectl describe node <node_name>: 특정 Node의 상세 정보를 확인
- 예시:
- kubectl apply: 리소스를 생성하거나 업데이트할 때 사용 (YAML 파일 적용)
- 예시:
- kubectl apply -f <file.yaml>: YAML 파일에 정의된 리소스를 생성 또는 업데이트
- 예시:
- kubectl delete: 리소스를 삭제
- 예시:
- kubectl delete pod <pod_name>: 특정 Pod 삭제
- kubectl delete service <service_name>: 특정 서비스 삭제
- 예시:
- kubectl create: 새로운 리소스를 생성
- 예시:
- kubectl create -f <file.yaml>: YAML 파일에 정의된 리소스를 생성
- kubectl create namespace <namespace_name>: 새로운 네임스페이스 생성
- 예시:
- kubectl exec: Pod 안에서 명령어 실행
- 예시:
- kubectl exec -it <pod_name> -- /bin/bash: 특정 Pod 안에서 bash 셸로 접속
- kubectl exec <pod_name> -- ls /app: 특정 Pod의 /app 디렉터리 내 파일 목록을 확인
- 예시:
- kubectl logs: 특정 Pod의 로그를 확인
- 예시:
- kubectl logs <pod_name>: Pod의 기본 컨테이너 로그 확인
- kubectl logs <pod_name> -c <container_name>: 특정 컨테이너의 로그 확인
- 예시:
- kubectl port-forward: 로컬 포트와 클러스터 내의 특정 Pod 또는 서비스의 포트를 연결
- 예시:
- kubectl port-forward pod/<pod_name> 8080:80: 로컬의 8080 포트를 Pod의 80 포트로 포워딩
- 예시:
리소스 관리
- kubectl scale: 리소스의 복제본 수를 조정
- 예시:
- kubectl scale deployment <deployment_name> --replicas=3: Deployment의 복제본을 3개로 조정
- 예시:
- kubectl rollout: 배포 관련 명령어
- 예시:
- kubectl rollout status deployment <deployment_name>: Deployment의 롤아웃 상태를 확인
- kubectl rollout undo deployment <deployment_name>: 이전 배포로 롤백
- 예시:
- kubectl edit: 리소스의 YAML 설정 파일을 직접 편집
- 예시:
- kubectl edit pod <pod_name>: Pod의 설정 파일을 직접 편집하여 수정
- 예시:
네임스페이스 관련
- kubectl get namespaces: 모든 네임스페이스 조회
- kubectl get pods --namespace <namespace_name>: 특정 네임스페이스의 Pod 목록 조회
- kubectl config set-context --current --namespace=<namespace_name>: 기본 네임스페이스를 설정
클러스터 정보 확인
- kubectl cluster-info: 클러스터 정보 확인
- kubectl get events: 클러스터 내의 이벤트 로그 확인
- kubectl top: 리소스 사용량 확인 (Metric 서버가 활성화되어 있어야 함)
- 예시:
- kubectl top node: 각 노드의 리소스 사용량 확인
- kubectl top pod: 각 Pod의 리소스 사용량 확인
- 예시:
기타 유용한 명령어
- kubectl explain: 리소스의 필드 설명 확인
- 예시:
- kubectl explain pod: Pod 리소스의 필드 설명 확인
- kubectl explain deployment.spec: Deployment의 spec 필드에 대한 설명 확인
- 예시:
- kubectl version: 클러스터와 클라이언트의 Kubernetes 버전 확인
- kubectl config view: 현재 kubectl 설정 정보 확인
- 테스트를 위한 임시 Pod 생성
- 예시: auw-ai namespace에 net-test pod 생성 + 접속 테스트
- kubectl run net-test-ubuntu --image=ubuntu -n auw-ai -- sleep 3600
kubectl exec -it net-test-ubuntu -n auw-ai -- /bin/bash
- kubectl run net-test-ubuntu --image=ubuntu -n auw-ai -- sleep 3600
- 예시: auw-ai namespace에 net-test pod 생성 + 접속 테스트
- 처음에 연결했던 연결토큰 확인하는 명령어
- sudo kubeadm token create --print-join-command
728x90
LIST
'Come on IT > DevOps' 카테고리의 다른 글
쿠버네티스 GPU 연결 방법 (feat. gpu-operater) (3) | 2024.10.06 |
---|---|
Kubernetes kubeadm init 오류 및 해결 방법 (0) | 2024.10.02 |
K8s CrashLoopBackOff 해결 방법 (0) | 2024.09.30 |
쿠버네티스(K8s) 대시보드 구축 방법 (1) | 2024.09.30 |
최신 kubernetes(쿠버네티스) 설치 방법 (feat. Ubuntu) (1) | 2024.09.29 |