kubernetes와 kubeflow를 사용할 때 자주 사용하는 명령어를 정리하였습니다. 평소에 k9s를 자주 사용하지만 쉘 스크립트나 k9s가 없는 경우 유용하게 사용합니다.
일반적으로 명령어get
은 리소스들을 가져와 나열해주고, describe
명령을 사용하여 객체의 세부 정보와 상태를 확인할 수 있습니다.
K8S, Kubeflow
모든 POD 보기
kubectl get pods
POD 세부 정보 확인하기
kubectl describe pod <pod name>
POD 로그 확인
kubectl logs <pod name>
컨테이너 쉘 접근
kubectl exec -it <pod name> -- /bin/bash
컨테이너에서 명령 실행
kubectl exec <pod name> -- <command>
Kubeflow
Workflow 확인
kubectl get workflow
Workflow 삭제
kubectl delete workflow <workflow name>
모든 InferenceServices 나열
kubectl get inferenceservices
InferenceService 세부 정보 확인
kubectl describe isvc <isvc name>
InferenceService 로그 확인
일반적으로 kserve로 서빙된 파드는 kserve-container
, istio-proxy
, queue-proxy
컨테이너로 되어있습니다. 실제 서빙로그는kserve-container
컨테이너에서 확인할 수 있습니다kubectl logs -f <pod name> kserve-container
InferenceService 쉘 접근
pod에 쉘 attatch하는 것과 동일하고 --container kserve-container
옵션만 추가해주면 됩니다.kubectl exec -it <pod name> --container kserve-container -- /bin/bash
profile에 등록한 Alias
kubectl 대신 k로 변경
alias k="kubectl"
성공/실패한 Workflow를 정리
alias kdwf='kubectl get workflow | grep -e Succeeded -e Failed | awk '\''{print $1}'\'' | xargs kubectl delete workflow'
하루 이상 된 PVC 정리
alias kdpvc="kubectl get pvc -o=json | jq -r '.items[] | select((.metadata.creationTimestamp | fromdate) < (now - (24 * 3600))) | .metadata.name' | xargs kubectl delete pvc"