본문 바로가기

DevOps/Kubernetes

[Kubernetes] kubectl cheat sheet

# 버전정보

kubectl version

 

# 노드

# 모든 노드 정보 출력
kubectl get nodes

# 모든 노드 정보 출력 (사용중인 컨테이너 런타임 정보 포함)
kubectl get nodes -o wide

 

# 네임스페이스

# 네임스페이스 생성
kubectl create namespace ${namespace-name}

# 네임스페이스 목록 출력
kubectl get namespaces

# 디폴트로 설정된 네임스페이스 확인
# 공란의 경우 default 네임스페이스를 의미함
kubectl config current-context               # 컨텍스트 확인하고
kubectl config get-contexts ${context-name}  # 이 명령의 인수로 넣어주면 됨

 

# 리소스

# 디폴트 네임스페이스 내 모든 리소스 목록 출력
kubectl get all

# 특정 네임스페이스 내 모든 리소스 목록 출력
kubectl get all -n ${namespace-name}

# 모든 네임스페이스에 존재하는 모든 리소스 목록 출력
kubectl get all --all-namespaces

 

# 파드

# 현재 네임스페이스에 존재하는 파드 목록 출력
kubelctl get pods

# 모든 네임스페이스에 존재하는 파드 목록 출력
kubectl get pods --all-namespaces

# 디폴트 네임스페이스의 특정 파드 삭제
kubectl delete pod #{pod-name}

# 특정 네임스페이스의 특정 파드 삭제
kubectl delete pod #{pod-name} -n #{namespace-name}

 

# ingress 관련

# 클러스터 내 존재하는 인그레스 클래스 정보 출력
kubectl get ingressclass

 

 

# 로그

# 파드 로그 표준출력스트림으로 출력
kubectl logs ${pod-id}

# tailing
kubectl logs -f ${pod-id}

# 특정 네임스페이스에 존재하는 파드 로그 출력
kubectl logs ${pod-id} -n ${namespace-name}

 

# api

# api 서버에서 사용 가능한 버전 목록 출력
kubectl api-versions

 

# 네임스페이스 범위 리소스 목록

kubectl api-resources --namespaced=true

 

# 클러스터 범위 리소스 목록

kubectl api-resources --namespaced=false

 

# manifest 파일 관련

# 리소스 생성
kubectl apply -f #{manifest-file-path}

# 리소스 제거
kubectl delete -f #{manifest-file-path}