Kubernetes – kubectl 명령어 정리

By | 2022년 12월 7일
Table of Contents

Kubernetes – kubectl 명령어 정리

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

버전정보

# kubectl version --short
kubectl version

오브젝트 목록

pods, svc 등 사용가능한 오브젝트명과 단축어를 표시한다.

kubectl api-resources

파일로 오브젝트 생성/수정

kubectl apply -f ${yaml_file_name}

오브젝트 정보 표시

kubectl get ${object_type}
kubectl get ${object_type} -o wide
kubectl get ${object_type} -n ${namespace}

kubectl get pods
kubectl get service
kubectl get namespace

보다 상세한 오브젝트 정보 표시 (오류 디버깅)

kubectl describe ${object_type} ${resource_name}
kubectl describe ${object_type} ${resource_name} -n ${namespace}

# 오류 디버깅에 좋다.
kubectl get pods
NAME                           READY   STATUS    RESTARTS   AGE
nginx-server-5d4b88c67-92jkr   0/1     Pending   0          2m44s
nginx-server-5d4b88c67-scks8   0/1     Pending   0          2m44s

kubectl describe pod nginx-server-5d4b88c67-92jkr
......
Events:
  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  4m6s  default-scheduler  0/1 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes

Pod 에 접속

kubectl exec -it ${pod_name} -- sh
kubectl exec -it ${pod_name} -- bash

# 순서에 민감하다.(실행명령이 가장 마지막에 있을 것!!)
kubectl exec -it ${pod_name} -n ${namespace} -- bash

kubectl exec -n example -it mariadb-6b57bfdd78-h6crc -- sh

Pod 로그 표시

kubectl logs ${pod_name}
kubectl logs ${pod_name} -n ${namespace}

파일로 오브젝트 삭제

kubectl delete -f ${yaml_file_name}

오브젝트 삭제

kubectl delete ${object_type} ${resource_name}
kubectl delete ${object_type} ${resource_name} -n ${namespace}

오브젝트 수정

kubectl edit ${object_type} ${resource_name}
kubectl edit ${object_type} ${resource_name} -n ${namespace}

컨피그맵 생성(문자열 이용)

kubectl create configmap ${configmap_name} --from-literal ${key}=${value}
kubectl create configmap ${configmap_name} --from-literal ${key}=${value} -n ${namespace}

컨피그맵 조회

kubectl get configmap ${configmap_name} -o yaml
kubectl get configmap ${configmap_name} -o yaml -n ${namespace}

컨피그맵 생성(파일 이용)

파일은 폴더도 가능하다.

kubectl create configmap ${configmap_name} --from-file ${file_name}
kubectl create configmap ${configmap_name} --from-file ${file_name} -n ${namespace}

답글 남기기