[cheat sheet] Kubernetes, Kubeflow 자주 쓰는 명령어 모음

chrisjune
3 min readApr 11, 2024

--

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"

--

--