공식문서는 kubectl을 아래와 같이 정의한다.
The Kubernetes command-line tool, kubectl, allows you to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs.
즉, kubectl의 역할은 쿠버네티스의 상태를 확인하고 원하는 상태를 요청하는 것이다.
쿠버네티스 GUI도 있지만, 처음 공부할 땐 kubectl로 한 땀 한 땀 입력하는 것을 추천한다고 한다.
Minikube로 구성한 쿠버네티스 클러스터를 kubectl을 통해 조작하면서, 명령어에 익숙해질 것이다.
또한 kubectl을 어떻게 발음해야 할지 정확히는 모르겠지만.. 일반적으로 큐브컨트롤, 쿠버네티스컨트롤 이라고 하는 것 같다.
kubectl [COMMAND] [TYPE] [NAME] [flags]
# 원하는 상태를 적용
kubectl apply -f [파일명 또는 URL]
# 선언된 리소스 확인 (pod, node, service, all 등)
kubectl get [TYPE]
kubectl get pod
kubectl get pods
kubectl get po
kubectl get service
kubectl get svc
kubectl get po, svc
kubectl get all
kubectl get pod -o wide
kubectl get pod -o yaml
kubectl get pod -o json
kubectl get pod --show-labels
# 선언된 리소스 상세 상태 확인 (쿠버네티스에 선언된 리소스의 상세한 상태를 확인)
kubectl describe [TYPE]/[NAME] 또는 [TYPE] [NAME]
# 리소스 삭제 (쿠버네티스에 선언된 리소스 제거)
kubectl delete [TYPE]/[NAME] 또는 [TYPE] [NAME]
# 컨테이너 로그 출력 (만약 하나의 Pod에 여러 개의 컨테이너가 있는 경우는 -c 옵션으로 컨테이너를 지정해야 한다.)
kubectl logs [NAME]
# 컨테이너 로그 실시간 출력
kubectl logs -f [NAME]
# 컨테이너에 접속 (exec는 컨테이너에 명령어를 전달한다. 주로 컨테이너에 접근할 때 사용한다.)
kubectl exec -it [NAME] -- [COMMAND]
# 현재 컨텍스트 확인 (여러 개의 쿠버네티스 클러스를 컨텍스트로 설정하고
필요에 따라 선택할 수 있다.)
kubectl config current-context
# 컨텍스트 설정
kubectl config use-context [NAME]
더 많은 명령어들을 확인하고 싶다면 레퍼런스를 참고하면 될 것 같다. -> kubectl 레퍼런스
출처
https://kubernetes.io/docs/tasks/tools/
https://subicura.com/k8s/guide/kubectl.html#%E1%84%89%E1%85%A5%E1%86%AF%E1%84%8C%E1%85%A5%E1%86%BC-%E1%84%80%E1%85%AA%E1%86%AB%E1%84%85%E1%85%B5-config