# 버전정보
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}