Skip to main content

Kserve CRDs


ServingRuntimes/ClusterServingRuntimes

apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
name: <name>
namespace: <namespace>
spec:
supportedModelFormats:
- name: <modelFormat>
version: <version> # 주 버전만 지정하는 것이 좋습니다. ex) "1"
autoSelect: true
protocolVersions:
- v1
- v2
containers:
# <modelFormat>을 사용하는 InferenceService의 containers 기본 설정값을 정의합니다.
- name: kserve-container
image: <image>
commands:
- <command>
args:
- <arg>
  • containers
    • args
      • Kserve Args
      • InferenceService의 storageUri에 설정된 모델은 /mnt/models 경로에 마운트됩니다.

InferenceService

apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
name: <name>
namespace: <namespace>
annotations:
# Knative Service에 추가됩니다.
{}
spec:
predictor:
# Knative
containerConcurrency: 0
minReplicas: 1
scaleTarget: 100
scaleMetric: concurrency

model:
modelFormat:
name: <modelFormat>
# runtime을 설정하지 않았을 때, autoSelect: true 이면서 <modelFormat>을
# 사용하는 ServingRuntime이 존재하는 해당 runtime이 자동으로 선택됩니다
runtime: <servingRuntimeName>
# 훈련된 모델이 저장된 경로입니다.
storageUri: <storageUri> # 훈련된 모델이 저장된 경로

# kubernetes core/v1.Container 설정값을 적을 수 있습니다
# args: ["--enable_docs_url=True"]

# kubernetes core/v1.Pod.spec 설정값을 적을 수 있습니다
# affinity: {}
# tolerations: []

# Optional
transformer: <transformer>

# Optional
explainer: <explainer>
  • predictor
    • model
      • storageUri
        • 모델이 저장된 경로입니다.
        • 해당 경로는 storage-initializer initContainer에 의해 /mnt/models 경로에 마운트됩니다.
      • args
warning

predictor.affinity, predictor.tolerations 등의 설정은 Knative Serving의 설정에서 이를 허용해야 사용할 수 있습니다.