7. 서빙: 이미지 빌드와 API 서비스
모델 버전을 컨테이너 이미지로 빌드하고, API 서비스로 띄워 추론 콘솔에서 시험합니다
필요 권한: 배포OPERATOR · ADMIN 운영OPERATOR · ADMIN
모델을 쓰려면 먼저 컨테이너 이미지로 만들어야 합니다. 한 번 빌드한 이미지는 중앙 서버의 API 서비스와 엣지 배포 양쪽에서 다시 씁니다. 이 페이지는 운영자(operator) 또는 관리자 계정으로 진행합니다.
1) 컨테이너 이미지 빌드
-
모델 레지스트리 → 모델 → 버전을 눌러 버전 화면을 엽니다. 컨테이너 이미지 카드에서 이미지 빌드를 누릅니다. Production 이 아니어도(Staging 이어도) 빌드할 수 있습니다.
모델 버전의 컨테이너 이미지 카드: 서빙 빌더가 준비되지 않은 테넌트에서는 이렇게 이유와 할 일을 알려 줍니다 -
상태가 빌드 중 → 준비됨으로 바뀝니다. 빌드 중에는 로그 보기로 진행을 볼 수 있고, 실패하면 첫 오류 줄과 빌드 로그 버튼이 나옵니다.
빌드가 끝난 컨테이너 이미지: 준비됨
:::
빌드는 테넌트 네임스페이스에서 도는 빌더 Job 이 합니다. MLflow 에 기록된 모델로 Dockerfile 을 만들고(mlflow models generate-dockerfile), BuildKit 으로 루트 권한 없이(rootless) 빌드해 플랫폼 내장 컨테이너 레지스트리에 올립니다. 끝나면 알림이 옵니다.
2) API 서비스 만들기
- 사이드바 API 서비스에서 서빙 생성을 누릅니다. 엔드포인트 이름(Kubernetes 오브젝트 이름이 되므로 소문자·숫자·하이픈), 이미지(빌드가 끝난 이미지만 나옵니다), Replicas, 실행 자원(GPU 슬롯, 0 이면 CPU)을 정하고 생성을 누릅니다.
서빙 엔드포인트 생성: 이름·이미지·Replicas·실행 자원 - 엔드포인트 화면에서 상태가 배포 중 → 연결 중 → 정상으로 바뀝니다. 아래 추론 콘솔에서 이미지를 끌어다 놓고 invocations를 누르면 검출 결과가 사진 위에 겹쳐 보이고, 원본 JSON 응답도 함께 나옵니다.
conf같은 추론 파라미터는 슬라이더로 바꿀 수 있습니다.추론 콘솔: 숫자 이미지를 올리고 invocations 로 호출한 결과. 분류 모델이라 예측 라벨과 신뢰도가 JSON 으로 옵니다(검출 모델이면 박스가 사진 위에 겹쳐 그려집니다)
서비스는 테넌트 네임스페이스에 Deployment + NodePort Service 로 뜨고, 추론 요청은 플랫폼 서버가 대신 전달합니다. 그래서 브라우저나 외부 프로그램은 클러스터 주소를 몰라도 됩니다.
POST/api/v1/serving/endpoints/{name/proxy/invocations}
- Validation 데이터셋 (선택)을 지정하면 배포 뒤 그 데이터셋으로 KPI 를 한 번 간단히 점검합니다(검증 중 상태). 기준에 못 미쳐도 서비스는 그대로 제공됩니다.
- 쓰지 않을 때는 중단(파드 0개, 포트 유지), 다시 쓸 때 재기동합니다.
- 추론 콘솔은 운영 권한(operator 이상)이 있어야 호출할 수 있습니다.
다음: 8. 엣지 배포