배포 오류 대응¶
Inference Service 오류 확인¶
Runway 콘솔 → Inference services 메뉴에서 Error 상태인 서비스를 확인합니다.
# KServe InferenceService 상태 확인
kubectl get inferenceservice -A
# 특정 InferenceService 상세
kubectl describe inferenceservice {service명} -n {namespace명}
배포 오류 유형별 대응¶
Endpoint Error¶
Endpoint가 Error 상태인 경우 reverse proxy 또는 Istio ingress 레벨의 문제를 확인합니다.
# Istio ingress gateway 파드 확인
kubectl get pods -n istio-system
# Istio ingress gateway 로그
kubectl logs -n istio-system -l app=istio-ingressgateway
Model Deployment Error¶
모델 추론 파드가 오류인 경우 해당 네임스페이스의 파드 상태를 확인합니다.
# 배포 서비스/모듈 파드 확인 (runway-project-xxxx 네임스페이스)
kubectl get pods -n runway-project-{project_id}
# 오류 파드 로그 확인
kubectl logs {pod명} -n runway-project-{project_id}
kubectl logs {pod명} -n runway-project-{project_id} --previous
Provisioning 상태 지속¶
배포 후 Provisioning 상태가 장시간 지속되는 경우:
-
관련 파드 이벤트 확인
kubectl describe pod {pod명} -n runway-project-{project_id} -
KServe controller 로그 확인
kubectl logs -n runway -l app=runway-inference-service-app -
자원 부족 여부 확인
kubectl top nodes kubectl describe nodes
배포 롤백¶
오류 발생 시 이전 버전으로 롤백합니다.
kubectl rollout undo deployment/{deployment명} -n {namespace명}
# 특정 리비전으로 롤백
kubectl rollout undo deployment/{deployment명} -n {namespace명} --to-revision={revision번호}
# 롤백 이력 확인
kubectl rollout history deployment/{deployment명} -n {namespace명}