Infra/Kubernetes & EKS

쿠버네티스 kubectl 주요 명령어 정리

jimmy_AI 2024. 6. 10. 01:17
반응형

kubernetes(k8s) 클러스터를 다루기 위한 명령줄 도구인 kubectl의

기초적인 명령어 목록들에 대하여 간략하게 정리를 해보도록 하겠습니다.

 

 

1. 클러스터 / 노드 정보 관련

# 클러스터 정보 확인
kubectl cluster-info

# 노드 정보 확인
kubectl get nodes

 

 

2. 네임스페이스 관련

# 네임스페이스 리스트 확인
kubectl get namespaces
kubectl get ns

# 네임스페이스 생성
kubectl create ns <namespace-name>

# 네임스페이스 삭제
kubectl delete ns <namespace-name>

 

 

3. Pod 관련

# 파드 리스트 확인(default namespace 기준)
kubectl get pods
kubectl get po
kubectl get po -o wide # 상세 정보 포함

# 모든 네임스페이스의 파드 리스트 확인
kubectl get po --all-namespaces

# 특정 네임스페이스의 파드 리스트 확인
kubectl get po -n <namespace-name>

# pod.yaml 파일로 pod 생성
kubectl apply -f pod.yaml

# pod.yaml 파일로 pod 삭제
kubectl delete -f pod.yaml

# 파드 상세 정보 확인
kubectl describe po <pod-name> -n <namespace-name>

# 해당 파드의 로그 확인
kubectl logs <pod-name> -n <namespace-name>

 

 

4. Deployment 관련

# 목록 확인
kubectl get deployments
kubectl get deploy
kubectl get deploy -n <namespace-name> # 특정 네임스페이스 지정

# deployment.yaml 파일 적용
kubectl apply -f deployment.yaml

# deployment.yaml 파일 적용 해제
kubectl delete -f deployment.yaml

# 디플로이먼트 재시작
kubectl rollout restart deployment <deployment-name> -n <namespace-name>

 

 

5. Service 관련

# 서비스 목록 확인
kubectl get services
kubectl get svc
kubectl get svc -n <namespace-name>

# 서비스 상세 정보 확인
kubectl describe svc <service-name> -n <namespace-name>

# service.yaml 파일 적용 / 적용 해제
kubectl apply -f service.yaml
kubectl delete -f service.yaml

 

 

6. ConfigMap / Secret 관련

# ConfigMap 목록 확인
kubectl get configmap
kubectl get cm
kubectl get cm -n <namespace-name>

# ConfigMap 생성
kubectl create cm <configmap-name> --from-literal=<key>=<value> -n <namespace-name> # 값 직접 입력
kubectl create cm <configmap-name> --from-file=<file-path> -n <namespace-name> # 파일로 생성

# ConfigMap 삭제
kubectl delete cm <configmap-name> -n <namespace-name>

# Secret 목록 확인
kubectl get secret -n <namespace-name>

# Secret 생성
kubectl create secret generic <secret-name> --from-literal=<key>=<value> -n <namespace-name>
kubectl create secret generic <secret-name> --from-file=<file-path> -n <namespace-name>

# Secret 삭제
kubectl delete secret <secret-name> -n <namespace-name>

# 참고: yaml으로 관리 시 kubectl apply -f / kubectl delete -f 명령어는 마찬가지로 적용 가능