API 서비스
중앙 서빙 엔드포인트 생성, 상태·성능 확인, 추론 콘솔에서 직접 호출
필요 권한: 조회
모델 버전의 서빙 이미지를 중앙 클러스터에서 실행해 HTTP 추론 API(엔드포인트) 로 제공. 엔드포인트는 Kubernetes Deployment 로 실행되고, 플랫폼이 요청을 대신 전달. 조회는 모든 멤버, 엔드포인트 생성·삭제는 deploy, 중단·재기동과 추론 호출은 operate 권한.
엔드포인트 생성 전에 모델 레지스트리의 버전 화면에서 서빙 이미지 빌드 필요.
엔드포인트 목록
| 번호 | 영역 | 설명 |
|---|---|---|
| ① | 서빙 생성 | 엔드포인트 생성 대화상자(deploy). |
| ② | 모델 레지스트리로 | 엔드포인트가 없을 때 표시되는 바로가기. |
엔드포인트는 카드로 표시, 카드를 누르면 상세로 이동. 카드에 이름·상태, RPS·P95(ms)·Error(%)·Ready, 모델 버전, 파드당 GPU 슬롯 수 표시. 측정하지 못한 지표는 —. Validation KPI 점검에서 성공률 95% 미만 또는 p95 지연 2,000ms 초과 시 KPI 미달 칩 표시. KPI 는 기록일 뿐이며 서비스는 계속 제공. 전환 중인 엔드포인트가 있으면 목록은 5초, 없으면 30초마다 갱신.
서빙이 비활성화된 설치 환경에서는 목록에 예시 데이터가 표시되고 위에 "서빙이 설정되지 않아 예시 데이터를 표시합니다" 안내 표시.
엔드포인트 만들기
- 서빙 생성 클릭.
- 엔드포인트 이름(소문자·숫자·하이픈, 63자 이하. Kubernetes 오브젝트 이름으로 사용), 이미지(빌드가 끝난 모델 버전만 표시), Replicas, 실행 자원(CPU 또는 테넌트에 배선된 GPU 슬롯. 파드마다 슬롯을 할당하므로 슬롯 × Replicas 필요), Validation 데이터셋(선택. 지정하면 배포 뒤 표본 20개로 KPI 스모크 테스트(짧은 동작 점검) 실행) 지정 후 생성 클릭. GPU 슬롯이 배선되지 않은 테넌트는 CPU 만 선택 가능. 슬롯을 할당받지 못하면 배포는 실패하지 않고 대기(Pending).
서빙 엔드포인트 생성: 이름, 빌드된 이미지, Replicas, 실행 자원, Validation 데이터셋 - 엔드포인트 상세로 이동, 롤아웃 진행 카드에 배포 → 연결 → 검증 → 가동 순서로 진행 상황 표시. 이 카드는 전환 중(배포 중·연결 중·검증 중)에만 표시, 그동안 화면은 5초마다 갱신.
엔드포인트 상세와 추론 콘솔
상세 화면 구성: 상태와 문제 원인, 모델 버전과 생성 시각, 노출 포트(NodePort)와 준비된 복제 수(ready/replicas), 서빙 이미지(컨테이너 레지스트리로 이동하는 링크), 중단과 중단된 뒤의 재기동(operate)과 삭제(deploy, 이름을 한 번 더 입력해야 함), 추론 콘솔.
추론 콘솔 맨 위의 예상 입력 은 모델 시그니처에서 읽은 입력 형태. 모델 입력 형식에 맞는 입력(이미지 업로드, 포인트클라우드(PLY) 업로드, 텍스트·표, 또는 JSON 본문) 지정 후 invocations 로 실제 추론 호출. 형식을 알 수 없으면 JSON 본문 편집기만 표시. ping 은 동작 여부, version 은 서빙 중인 버전 확인. 응답은 HTTP 상태 코드와 함께 원문 그대로 표시. 분류 모델은 예측 클래스와 상위 확률 막대 함께 표시. 검출 모델은 결과를 이미지 위에 박스·마스크·라벨로 겹쳐 그리고, 신뢰도 임계 슬라이더로 필터링. 중단된 엔드포인트는 호출 불가(먼저 재기동).
포인트클라우드 모델은 PLY 파일 1개 업로드(압축 파일은 압축을 풀어 하나씩). 파라미터는 grid_size(0 이면 학습 때 값)와 include_ply, 인스턴스 분할 모델이면 min_score. 결과는 3D 뷰어와 함께 표시. 시맨틱 분할은 클래스별 점 수 표, 인스턴스 분할(PointGroup)은 검출한 물체 수와 미할당 점 수, 물체 목록(점 수·점수) 표시, 미할당 점은 회색. 결과 PLY 받기 로 결과를 내려받음. 물체를 하나도 검출하지 못하면 min_score 를 낮추거나 grid_size 확인.
콘솔 아래에 최근 1시간의 RPS·Latency 차트(요청 지표가 있을 때만)와 상태코드 분포(2xx·4xx·5xx) 표시. 요청이 없으면 "집계된 요청이 없습니다." 표시.
상태·배지
| 배지 | 값 | 뜻 |
|---|---|---|
| 배포 중 | DEPLOYING | Deployment 생성, 파드 기동 중 |
| 연결 중 | CONNECTING | 파드 기동 완료, 플랫폼이 연결 확인 중 |
| 검증 중 | VALIDATING | Validation 데이터셋으로 KPI 점검 중 |
| 정상 | AVAILABLE | 요청을 처리할 수 있음 |
| 성능 저하 | DEGRADED | 플랫폼의 주기 점검(기본 30초마다 /ping)이 3회 연속 실패함. 한 번 성공하면 정상으로 복귀 |
| 중단 | STOPPED | 사용자가 중단함(파드 수 0, NodePort 유지). 재기동 하면 연결 중부터 다시 진행 |
| 실패 | FAILED | 어느 단계에서든 실패 |
파드가 정상이 아니면 상태와 무관하게(연결 중일 때도) 클러스터가 보고한 원인과 재시작 횟수를 카드와 상세에 함께 표시. 예: "컨테이너가 반복 재시작 중"(CrashLoopBackOff), "이미지를 받지 못하는 중"(ImagePullBackOff, ErrImagePull), "컨테이너 설정 오류"(CreateContainerConfigError), "배포 진행이 멈춤"(ProgressDeadlineExceeded).