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}